[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