[Bf-blender-cvs] [12f7fd5] fracture_modifier: attempt to reduce a memoryleak
Martin Felke
noreply at git.blender.org
Sat Jan 30 16:42:43 CET 2016
Commit: 12f7fd5a08b688d11e145c050a4ce86b2b12f5f2
Author: Martin Felke
Date: Sat Jan 30 16:42:34 2016 +0100
Branches: fracture_modifier
https://developer.blender.org/rB12f7fd5a08b688d11e145c050a4ce86b2b12f5f2
attempt to reduce a memoryleak
===================================================================
M source/blender/blenkernel/intern/rigidbody.c
M source/blender/modifiers/intern/MOD_fracture.c
===================================================================
diff --git a/source/blender/blenkernel/intern/rigidbody.c b/source/blender/blenkernel/intern/rigidbody.c
index 203dd2f..a54ab0c 100644
--- a/source/blender/blenkernel/intern/rigidbody.c
+++ b/source/blender/blenkernel/intern/rigidbody.c
@@ -4150,6 +4150,7 @@ static void resetDynamic(RigidBodyWorld *rbw, bool do_reset_always)
{
RigidBodyShardCon *rbsc;
MeshIsland *mi;
+ Scene *scene = fmd->modifier.scene;
if (do_reset_always)
{
@@ -4167,6 +4168,7 @@ static void resetDynamic(RigidBodyWorld *rbw, bool do_reset_always)
{
copy_v3_v3(mi->rigidbody->pos, loc);
copy_qt_qt(mi->rigidbody->orn, rot);
+ BKE_rigidbody_remove_shard(scene, mi);
validateShard(rbw, mi, ob, false, false);
}
}
diff --git a/source/blender/modifiers/intern/MOD_fracture.c b/source/blender/modifiers/intern/MOD_fracture.c
index b81c111..a0a5227 100644
--- a/source/blender/modifiers/intern/MOD_fracture.c
+++ b/source/blender/modifiers/intern/MOD_fracture.c
@@ -453,11 +453,11 @@ static void free_modifier(FractureModifierData *fmd, bool do_free_seq)
{
if (fmd->fracture_mode != MOD_FRACTURE_DYNAMIC)
{
- free_simulation(fmd, do_free_seq, false);
+ free_simulation(fmd, false, false);
}
else if (!do_free_seq)
{
- free_simulation(fmd, true, false);
+ free_simulation(fmd, true, true);
}
if (fmd->material_index_map)
More information about the Bf-blender-cvs
mailing list