[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48520] trunk/blender/source/blender/ blenkernel/intern/mesh.c: fix for memory leak in BKE_mesh_ensure_navmesh(), it would add 2 navmesh layers, once referencing the other.

Campbell Barton ideasman42 at gmail.com
Tue Jul 3 10:16:20 CEST 2012


Revision: 48520
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48520
Author:   campbellbarton
Date:     2012-07-03 08:16:14 +0000 (Tue, 03 Jul 2012)
Log Message:
-----------
fix for memory leak in BKE_mesh_ensure_navmesh(), it would add 2 navmesh layers, once referencing the other.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/mesh.c

Modified: trunk/blender/source/blender/blenkernel/intern/mesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mesh.c	2012-07-03 06:45:43 UTC (rev 48519)
+++ trunk/blender/source/blender/blenkernel/intern/mesh.c	2012-07-03 08:16:14 UTC (rev 48520)
@@ -3146,19 +3146,17 @@
 	}
 }
 
-
 void BKE_mesh_ensure_navmesh(Mesh *me)
 {
 	if (!CustomData_has_layer(&me->pdata, CD_RECAST)) {
 		int i;
 		int numFaces = me->totpoly;
 		int *recastData;
-		CustomData_add_layer_named(&me->pdata, CD_RECAST, CD_CALLOC, NULL, numFaces, "recastData");
-		recastData = (int *)CustomData_get_layer(&me->pdata, CD_RECAST);
+		recastData = (int *)MEM_mallocN(numFaces * sizeof(int), __func__);
 		for (i = 0; i < numFaces; i++) {
 			recastData[i] = i + 1;
 		}
-		CustomData_add_layer_named(&me->pdata, CD_RECAST, CD_REFERENCE, recastData, numFaces, "recastData");
+		CustomData_add_layer_named(&me->pdata, CD_RECAST, CD_ASSIGN, recastData, numFaces, "recastData");
 	}
 }
 




More information about the Bf-blender-cvs mailing list