[Bf-blender-cvs] [c638892] fracture_modifier: crash fix, could happen that the internal ob->derivedFinal DM structures were invalid

Martin Felke noreply at git.blender.org
Fri May 27 10:07:25 CEST 2016


Commit: c6388928e6a88e9150fb684da579b5880fbdffd6
Author: Martin Felke
Date:   Fri May 27 10:07:05 2016 +0200
Branches: fracture_modifier
https://developer.blender.org/rBc6388928e6a88e9150fb684da579b5880fbdffd6

crash fix, could happen that the internal ob->derivedFinal DM structures were invalid

happened in some cases and most notably under windows when attempting to calculate the DMs bounding box

===================================================================

M	source/blender/blenkernel/intern/rigidbody.c

===================================================================

diff --git a/source/blender/blenkernel/intern/rigidbody.c b/source/blender/blenkernel/intern/rigidbody.c
index 2b7f8ba..e003d9e 100644
--- a/source/blender/blenkernel/intern/rigidbody.c
+++ b/source/blender/blenkernel/intern/rigidbody.c
@@ -1341,7 +1341,9 @@ static void rigidbody_validate_sim_object(RigidBodyWorld *rbw, Object *ob, bool
 		}
 
 		mat4_to_loc_quat(loc, rot, ob->obmat);
-		if (ob->derivedFinal)
+
+		/* a hacky check whether the dm might be valid or not*/
+		if (ob->derivedFinal && ob->derivedFinal->getNumLoopTri(ob->derivedFinal) > 0)
 			DM_mesh_boundbox(ob->derivedFinal, locbb, size);
 		else  //fallback
 			BKE_mesh_boundbox_calc((Mesh*)ob->data, locbb, size);




More information about the Bf-blender-cvs mailing list