Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-03-12 01:27:06 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-03-12 01:27:06 +0300
commit9dfda4b002ab438008f4e00a5c8e98c41540a141 (patch)
tree4da8fa4aa06a342d263b4fc482eda9b50dbef712 /source/blender/render/intern/raytrace/rayobject_vbvh.cpp
parent60a4c9d09ea1d7216139c93466fb2ca9bef6648c (diff)
Fix #26203: crash with empty raytree, all types should survive this now.
Also added a check for -inf/inf bounding boxes, just to be sure.
Diffstat (limited to 'source/blender/render/intern/raytrace/rayobject_vbvh.cpp')
-rw-r--r--source/blender/render/intern/raytrace/rayobject_vbvh.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/source/blender/render/intern/raytrace/rayobject_vbvh.cpp b/source/blender/render/intern/raytrace/rayobject_vbvh.cpp
index 1765f3da381..25eada43a4a 100644
--- a/source/blender/render/intern/raytrace/rayobject_vbvh.cpp
+++ b/source/blender/render/intern/raytrace/rayobject_vbvh.cpp
@@ -98,13 +98,17 @@ void bvh_done<VBVHTree>(VBVHTree *obj)
return;
}
- reorganize(root);
- remove_useless(root, &root);
- bvh_refit(root);
-
- pushup(root);
- pushdown(root);
- obj->root = root;
+ if(root) {
+ reorganize(root);
+ remove_useless(root, &root);
+ bvh_refit(root);
+
+ pushup(root);
+ pushdown(root);
+ obj->root = root;
+ }
+ else
+ obj->root = NULL;
}
else
{