Commit: c491b50139d3972949fc3e72acf4dc662d1f84a6
Author: Martin Felke
Date:   Tue Feb 13 18:19:18 2018 +0100
Branches: fracture_modifier
https://developer.blender.org/rBc491b50139d3972949fc3e72acf4dc662d1f84a6

fix potential memory leak

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

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 fa479b5772f..042e6e3887b 100644
--- a/source/blender/modifiers/intern/MOD_fracture.c
+++ b/source/blender/modifiers/intern/MOD_fracture.c
@@ -5145,11 +5145,23 @@ static DerivedMesh 
*do_prefractured(FractureModifierData *fmd, Object *ob, Deriv
 
        if (fmd->dm_group && fmd->use_constraint_group)
        {
-               //remove collected mesh here
-               final_dm = derivedData;
-
                //remove own, unnecessary meshislands and rigidbodies
                free_meshislands(fmd, &fmd->meshIslands, true);
+               free_shards(fmd);
+               if (fmd->dm) {
+                       fmd->dm->needsFree = 1;
+                       fmd->dm->release(fmd->dm);
+                       fmd->dm = NULL;
+               }
+
+               if (fmd->visible_mesh_cached) {
+                       fmd->visible_mesh_cached->needsFree = 1;
+                       
fmd->visible_mesh_cached->release(fmd->visible_mesh_cached);
+                       fmd->visible_mesh_cached = NULL;
+               }
+
+               //remove collected mesh here
+               final_dm = derivedData;
        }
 
        /* free newly created derivedmeshes only, but keep derivedData and 
final_dm*/

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to