diff options
author | Andre Susano Pinto <andresusanopinto@gmail.com> | 2009-07-15 03:26:00 +0400 |
---|---|---|
committer | Andre Susano Pinto <andresusanopinto@gmail.com> | 2009-07-15 03:26:00 +0400 |
commit | e3f7cad32d4c597fec7576fe5530f5adc9a33159 (patch) | |
tree | 4c525e6b07ee58e9fde2360ad13802f6cb6319e2 /source/blender/render/intern | |
parent | 7afffd2950aba313de3cab1c74657380aaf08067 (diff) |
*fix (was losing childs)
Diffstat (limited to 'source/blender/render/intern')
-rw-r--r-- | source/blender/render/intern/raytrace/rayobject_vbvh.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/render/intern/raytrace/rayobject_vbvh.cpp b/source/blender/render/intern/raytrace/rayobject_vbvh.cpp index b4d30b51358..305de145a72 100644 --- a/source/blender/render/intern/raytrace/rayobject_vbvh.cpp +++ b/source/blender/render/intern/raytrace/rayobject_vbvh.cpp @@ -140,6 +140,7 @@ void pushdown(Node *parent) while(child && RayObject_isAligned(child)) { Node *next = child->sibling; + Node **next_s_child = &child->sibling; assert(bb_fits_inside(parent->bb, parent->bb+3, child->bb, child->bb+3)); @@ -152,11 +153,13 @@ void pushdown(Node *parent) *s_child = child->sibling; child->sibling = i->child; i->child = child; + next_s_child = s_child; tot_pushdown++; break; } child = next; + s_child = next_s_child; } for(Node *i = parent->child; RayObject_isAligned(i) && i; i = i->sibling) |