[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45356] trunk/blender/source/blender/ editors/transform/transform.c: patch [#30780] Transform operator leak in aborted edge slide mode
Campbell Barton
ideasman42 at gmail.com
Tue Apr 3 04:52:40 CEST 2012
Revision: 45356
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45356
Author: campbellbarton
Date: 2012-04-03 02:52:34 +0000 (Tue, 03 Apr 2012)
Log Message:
-----------
patch [#30780] Transform operator leak in aborted edge slide mode
from Francisco De La Cruz (xercesblue)
Modified Paths:
--------------
trunk/blender/source/blender/editors/transform/transform.c
Modified: trunk/blender/source/blender/editors/transform/transform.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.c 2012-04-03 02:46:44 UTC (rev 45355)
+++ trunk/blender/source/blender/editors/transform/transform.c 2012-04-03 02:52:34 UTC (rev 45356)
@@ -4402,7 +4402,7 @@
int numsel, i, j;
if (!v3d) {
- /*ok, let's try to survive this*/
+ /* ok, let's try to survive this */
unit_m4(projectMat);
}
else {
@@ -4428,15 +4428,20 @@
}
if (numsel == 0 || numsel > 2) {
- return 0; //invalid edge selection
+ MEM_freeN(sld);
+ BMBVH_FreeBVH(btree);
+ return 0; /* invalid edge selection */
}
}
}
BM_ITER(e, &iter, em->bm, BM_EDGES_OF_MESH, NULL) {
if (BM_elem_flag_test(e, BM_ELEM_SELECT)) {
- if (BM_edge_face_count(e) != 2)
- return 0; //can only handle exactly 2 faces around each edge
+ if (BM_edge_face_count(e) != 2) {
+ MEM_freeN(sld);
+ BMBVH_FreeBVH(btree);
+ return 0; /* can only handle exactly 2 faces around each edge */
+ }
}
}
@@ -4452,8 +4457,11 @@
}
}
- if (!j)
+ if (!j) {
+ MEM_freeN(sld);
+ BMBVH_FreeBVH(btree);
return 0;
+ }
tempsv = MEM_callocN(sizeof(TransDataSlideVert)*j, "tempsv");
More information about the Bf-blender-cvs
mailing list