[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59465] trunk/blender/source/blender/ blenkernel/intern/mesh.c: fix for leak in make_edges_mdata() if there were no edges to create,

Campbell Barton ideasman42 at gmail.com
Sat Aug 24 15:13:29 CEST 2013


Revision: 59465
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59465
Author:   campbellbarton
Date:     2013-08-24 13:13:29 +0000 (Sat, 24 Aug 2013)
Log Message:
-----------
fix for leak in make_edges_mdata() if there were no edges to create,
also reserve the total number of edges in the hash when its created.

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	2013-08-24 13:08:55 UTC (rev 59464)
+++ trunk/blender/source/blender/blenkernel/intern/mesh.c	2013-08-24 13:13:29 UTC (rev 59465)
@@ -911,7 +911,7 @@
 	MPoly *mpoly;
 	MFace *mface;
 	MEdge *medge, *med;
-	EdgeHash *hash = BLI_edgehash_new(__func__);
+	EdgeHash *hash;
 	struct EdgeSort *edsort, *ed;
 	int a, totedge = 0;
 	unsigned int totedge_final = 0;
@@ -988,6 +988,7 @@
 	MEM_freeN(edsort);
 	
 	/* set edge members of mloops */
+	hash = BLI_edgehash_new_ex(__func__, totedge_final);
 	for (edge_index = 0, med = medge; edge_index < totedge_final; edge_index++, med++) {
 		BLI_edgehash_insert(hash, med->v1, med->v2, SET_UINT_IN_POINTER(edge_index));
 	}




More information about the Bf-blender-cvs mailing list