[Bf-blender-cvs] [0ba11ae] fracture_modifier: fix, forgot to load participating constraints per meshisland

Martin Felke noreply at git.blender.org
Fri Apr 1 01:55:36 CEST 2016


Commit: 0ba11ae9b1d7179f2aff13a515f0a31fa3ab625b
Author: Martin Felke
Date:   Fri Apr 1 01:53:56 2016 +0200
Branches: fracture_modifier
https://developer.blender.org/rB0ba11ae9b1d7179f2aff13a515f0a31fa3ab625b

fix, forgot to load participating constraints per meshisland

this caused crashes when trying to simulate with percentage breaking

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

M	source/blender/blenloader/intern/readfile.c

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

diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index ac55b2a..aedc811 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5084,8 +5084,7 @@ static void read_meshIsland(FileData *fd, MeshIsland **address)
 
 	/* will be refreshed on the fly if not there*/
 	mi->participating_constraints = newdataadr(fd, mi->participating_constraints);
-	if (mi->participating_constraints == NULL)
-		mi->participating_constraint_count = 0;
+	mi->participating_constraint_count = 0;
 }
 
 static int initialize_meshisland(FractureModifierData* fmd, MeshIsland** mii, MVert* mverts, int vertstart,
@@ -5298,6 +5297,10 @@ static void load_fracture_modifier(FileData* fd, FractureModifierData *fmd)
 				con->mi2 = newdataadr(fd, con->mi2);
 				con->physics_constraint = NULL;
 				con->flag |= RBC_FLAG_NEEDS_VALIDATE;
+				con->mi1->participating_constraints[con->mi1->participating_constraint_count] = con;
+				con->mi2->participating_constraints[con->mi2->participating_constraint_count] = con;
+				con->mi1->participating_constraint_count++;
+				con->mi2->participating_constraint_count++;
 			}
 
 			if (fmd->meshConstraints.first == NULL || fmd->meshConstraints.last == NULL)




More information about the Bf-blender-cvs mailing list