[Bf-blender-cvs] [dce6a369322] fracture_modifier: crash fix for linking FM scene as background scene with automerge

Martin Felke noreply at git.blender.org
Wed Jun 14 12:49:36 CEST 2017


Commit: dce6a369322cae39927e54e893e9ed7bc14442d5
Author: Martin Felke
Date:   Wed Jun 14 12:48:27 2017 +0200
Branches: fracture_modifier
https://developer.blender.org/rBdce6a369322cae39927e54e893e9ed7bc14442d5

crash fix for linking FM scene as background scene with automerge

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

M	source/blender/modifiers/intern/MOD_fracture.c

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

diff --git a/source/blender/modifiers/intern/MOD_fracture.c b/source/blender/modifiers/intern/MOD_fracture.c
index 56ba4b17d8c..04eb1b0b020 100644
--- a/source/blender/modifiers/intern/MOD_fracture.c
+++ b/source/blender/modifiers/intern/MOD_fracture.c
@@ -3463,7 +3463,7 @@ static DerivedMesh *do_autoHide(FractureModifierData *fmd, DerivedMesh *dm, Obje
 		PointCache *cache = rbw ? rbw->pointcache : NULL;
 		int frame = (int)BKE_scene_frame_get(sc);
 		int endframe = sc->r.efra;
-		int testframe = MIN2(cache->endframe, endframe);
+		int testframe = cache != NULL ? MIN2(cache->endframe, endframe) : endframe;
 
 		if (fmd->automerge_dist > 0)
 		{
@@ -3471,7 +3471,7 @@ static DerivedMesh *do_autoHide(FractureModifierData *fmd, DerivedMesh *dm, Obje
 			prepare_automerge(fmd, bm);
 		}
 
-		if (cache && frame == testframe) {
+		if (frame == testframe) {
 			optimize_automerge(fmd);
 		}
 	}
@@ -4366,7 +4366,7 @@ static void do_reset_automerge(FractureModifierData* fmd)
 		Scene *sc = fmd->modifier.scene;
 		RigidBodyWorld *rbw = sc->rigidbody_world;
 		int frame = (int)BKE_scene_frame_get(sc);
-		int start = rbw ? MAX2(rbw->pointcache->startframe, sc->r.sfra) : 1;
+		int start = (rbw && rbw->pointcache ) ? MAX2(rbw->pointcache->startframe, sc->r.sfra) : sc->r.sfra;
 		if (frame == start) {
 			reset_automerge(fmd);
 		}




More information about the Bf-blender-cvs mailing list