diff options
author | Ken Hughes <khughes@pacific.edu> | 2007-08-04 01:34:13 +0400 |
---|---|---|
committer | Ken Hughes <khughes@pacific.edu> | 2007-08-04 01:34:13 +0400 |
commit | 37b5472dd28ce841ad182171afec737c4ece5c10 (patch) | |
tree | 6f3c8a61db6776dcbd32893641991ea11a3af1c7 /intern/bsp | |
parent | c6785e3292ff833ed91aea38ce6125efb6bd7a83 (diff) |
Tools
-----
Bugfixes for #6816 and #6988: Under Windows, Blender would crash if boolean
operations were done on objects which resulted in an empty mesh. Problem was
"iterators" created for ConvertCSGDescriptorsToDerivedMesh() tried to access
invalid memory.
Diffstat (limited to 'intern/bsp')
-rwxr-xr-x | intern/bsp/intern/BSP_CSGMesh_CFIterator.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/intern/bsp/intern/BSP_CSGMesh_CFIterator.h b/intern/bsp/intern/BSP_CSGMesh_CFIterator.h index 6863bf38cfc..010f62159a5 100755 --- a/intern/bsp/intern/BSP_CSGMesh_CFIterator.h +++ b/intern/bsp/intern/BSP_CSGMesh_CFIterator.h @@ -125,7 +125,8 @@ BSP_CSGMeshVertexIt_Construct( BSP_CSGMesh_VertexIt * v_it = new BSP_CSGMesh_VertexIt; v_it->mesh = mesh; - v_it->pos = &mesh->VertexSet()[0]; + if( output->num_elements > 0 ) + v_it->pos = &mesh->VertexSet()[0]; output->it = v_it; }; @@ -257,11 +258,11 @@ BSP_CSGMesh_FaceIt_Construct( BSP_CSGMesh_FaceIt * f_it = new BSP_CSGMesh_FaceIt; f_it->mesh = mesh; - f_it->pos = &mesh->FaceSet()[0]; + if( output->num_elements > 0 ) + f_it->pos = &mesh->FaceSet()[0]; f_it->face_triangle = 0; output->it = f_it; - }; |