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);
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs