[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37332] trunk/blender/source/blender: fix for memory leak re-binding meshes.

Campbell Barton ideasman42 at gmail.com
Thu Jun 9 13:19:35 CEST 2011


Revision: 37332
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37332
Author:   campbellbarton
Date:     2011-06-09 11:19:34 +0000 (Thu, 09 Jun 2011)
Log Message:
-----------
fix for memory leak re-binding meshes.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/object/object_modifier.c
    trunk/blender/source/blender/modifiers/intern/MOD_meshdeform.c

Modified: trunk/blender/source/blender/editors/object/object_modifier.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_modifier.c	2011-06-09 11:09:46 UTC (rev 37331)
+++ trunk/blender/source/blender/editors/object/object_modifier.c	2011-06-09 11:19:34 UTC (rev 37332)
@@ -1259,16 +1259,22 @@
 		return OPERATOR_CANCELLED;
 
 	if(mmd->bindcagecos) {
-		if(mmd->bindweights) MEM_freeN(mmd->bindweights);
 		if(mmd->bindcagecos) MEM_freeN(mmd->bindcagecos);
 		if(mmd->dyngrid) MEM_freeN(mmd->dyngrid);
 		if(mmd->dyninfluences) MEM_freeN(mmd->dyninfluences);
+		if(mmd->bindinfluences) MEM_freeN(mmd->bindinfluences);
+		if(mmd->bindoffsets) MEM_freeN(mmd->bindoffsets);
 		if(mmd->dynverts) MEM_freeN(mmd->dynverts);
-		mmd->bindweights= NULL;
+		if(mmd->bindweights) MEM_freeN(mmd->bindweights); /* deprecated */
+		if(mmd->bindcos) MEM_freeN(mmd->bindcos); /* deprecated */
+
 		mmd->bindcagecos= NULL;
 		mmd->dyngrid= NULL;
 		mmd->dyninfluences= NULL;
+		mmd->bindoffsets= NULL;
 		mmd->dynverts= NULL;
+		mmd->bindweights= NULL; /* deprecated */
+		mmd->bindcos= NULL; /* deprecated */
 		mmd->totvert= 0;
 		mmd->totcagevert= 0;
 		mmd->totinfluence= 0;

Modified: trunk/blender/source/blender/modifiers/intern/MOD_meshdeform.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_meshdeform.c	2011-06-09 11:09:46 UTC (rev 37331)
+++ trunk/blender/source/blender/modifiers/intern/MOD_meshdeform.c	2011-06-09 11:19:34 UTC (rev 37332)
@@ -72,6 +72,8 @@
 	if(mmd->dyngrid) MEM_freeN(mmd->dyngrid);
 	if(mmd->dyninfluences) MEM_freeN(mmd->dyninfluences);
 	if(mmd->dynverts) MEM_freeN(mmd->dynverts);
+	if(mmd->bindweights) MEM_freeN(mmd->bindweights); /* deprecated */
+	if(mmd->bindcos) MEM_freeN(mmd->bindcos); /* deprecated */
 }
 
 static void copyData(ModifierData *md, ModifierData *target)




More information about the Bf-blender-cvs mailing list