[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