[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45424] trunk/blender/source/blender/bmesh /intern/bmesh_mesh_conv.c: fix for memory leak when using the bmesh python api - would allocate customdata layers and overwrite them when converting a mesh to a bmesh (without freeing).

Campbell Barton ideasman42 at gmail.com
Thu Apr 5 14:51:17 CEST 2012


Revision: 45424
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45424
Author:   campbellbarton
Date:     2012-04-05 12:51:17 +0000 (Thu, 05 Apr 2012)
Log Message:
-----------
fix for memory leak when using the bmesh python api - would allocate customdata layers and overwrite them when converting a mesh to a bmesh (without freeing).

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c	2012-04-05 12:44:59 UTC (rev 45423)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c	2012-04-05 12:51:17 UTC (rev 45424)
@@ -65,6 +65,13 @@
 	int *keyi;
 	int totuv, i, j;
 
+	/* free custom data */
+	/* this isnt needed in most cases but do just incase */
+	CustomData_free(&bm->vdata, bm->totvert);
+	CustomData_free(&bm->edata, bm->totedge);
+	CustomData_free(&bm->ldata, bm->totloop);
+	CustomData_free(&bm->pdata, bm->totface);
+
 	if (!me || !me->totvert) {
 		if (me) { /*no verts? still copy customdata layout*/
 			CustomData_copy(&me->vdata, &bm->vdata, CD_MASK_BMESH, CD_ASSIGN, 0);




More information about the Bf-blender-cvs mailing list