[Bf-blender-cvs] [c491b50139d] fracture_modifier: fix potential memory leak
Martin Felke
noreply at git.blender.org
Tue Feb 13 18:19:55 CET 2018
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*/
More information about the Bf-blender-cvs
mailing list