diff options
author | Germano Cavalcante <germano.costa@ig.com.br> | 2020-07-13 03:47:50 +0300 |
---|---|---|
committer | Germano Cavalcante <germano.costa@ig.com.br> | 2020-07-13 14:59:47 +0300 |
commit | 9c9eb03d7840471173964b0f2758e2053bb700b4 (patch) | |
tree | a6dc5412e71d3fa0e1c6e5882cf1788e58aa7da4 | |
parent | f019164f1f56cc5703ed316cb6be25456d5fe715 (diff) |
Fix T78855: Knife tool crashes when the geometry has no face
I don't see the need for a BVH Tree to have root but not have leafs.
But apparently this case is possible.
-rw-r--r-- | source/blender/blenlib/intern/BLI_kdopbvh.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/blenlib/intern/BLI_kdopbvh.c b/source/blender/blenlib/intern/BLI_kdopbvh.c index e9946d81f75..a3f93ccc753 100644 --- a/source/blender/blenlib/intern/BLI_kdopbvh.c +++ b/source/blender/blenlib/intern/BLI_kdopbvh.c @@ -1441,13 +1441,13 @@ int *BLI_bvhtree_intersect_plane(BVHTree *tree, float plane[4], uint *r_intersec int *intersect = NULL; size_t total = 0; - BVHNode *root = tree->nodes[tree->totleaf]; - if (root != NULL) { + if (tree->totleaf) { BVHIntersectPlaneData data; data.tree = tree; copy_v4_v4(data.plane, plane); data.intersect = BLI_stack_new(sizeof(int), __func__); + BVHNode *root = tree->nodes[tree->totleaf]; bvhtree_intersect_plane_dfs_recursive(&data, root); total = BLI_stack_count(data.intersect); |