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)

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to