[Bf-blender-cvs] [1c25622] fracture_modifier: memory leak fix for text fracture / sub object groups
Martin Felke
noreply at git.blender.org
Thu Oct 9 19:27:16 CEST 2014
Commit: 1c256222dd2ed896dbb5e47258708ac8c1af29ac
Author: Martin Felke
Date: Thu Oct 9 19:27:04 2014 +0200
Branches: fracture_modifier
https://developer.blender.org/rB1c256222dd2ed896dbb5e47258708ac8c1af29ac
memory leak fix for text fracture / sub object groups
===================================================================
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 31c8864..3a6200d 100644
--- a/source/blender/modifiers/intern/MOD_fracture.c
+++ b/source/blender/modifiers/intern/MOD_fracture.c
@@ -602,6 +602,19 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
}
}
+ /* free newly created derivedmeshes only, but keep derivedData and final_dm*/
+ if ((clean_dm != group_dm) && (clean_dm != derivedData) && (clean_dm != final_dm))
+ {
+ clean_dm->needsFree = 1;
+ clean_dm->release(clean_dm);
+ }
+
+ if ((group_dm != derivedData) && (group_dm != final_dm))
+ {
+ group_dm->needsFree = 1;
+ group_dm->release(group_dm);
+ }
+
return final_dm;
}
@@ -677,6 +690,19 @@ static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob,
}
}
+ /* free newly created derivedmeshes only, but keep derivedData and final_dm*/
+ if ((clean_dm != group_dm) && (clean_dm != derivedData) && (clean_dm != final_dm))
+ {
+ clean_dm->needsFree = 1;
+ clean_dm->release(clean_dm);
+ }
+
+ if ((group_dm != derivedData) && (group_dm != final_dm))
+ {
+ group_dm->needsFree = 1;
+ group_dm->release(group_dm);
+ }
+
return final_dm;
}
More information about the Bf-blender-cvs
mailing list