[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40909] branches/bmesh/blender/source/ blender/editors/transform/transform_conversions.c: Fix a memory leak when attempting edge slide with no edges selected
Andrew Wiggin
ender79bl at gmail.com
Mon Oct 10 16:35:34 CEST 2011
Revision: 40909
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40909
Author: ender79
Date: 2011-10-10 14:35:33 +0000 (Mon, 10 Oct 2011)
Log Message:
-----------
Fix a memory leak when attempting edge slide with no edges selected
Modified Paths:
--------------
branches/bmesh/blender/source/blender/editors/transform/transform_conversions.c
Modified: branches/bmesh/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/transform/transform_conversions.c 2011-10-10 14:32:08 UTC (rev 40908)
+++ branches/bmesh/blender/source/blender/editors/transform/transform_conversions.c 2011-10-10 14:35:33 UTC (rev 40909)
@@ -2089,10 +2089,12 @@
// transform now requires awareness for select mode, so we tag the f1 flags in verts
if(selectmode & SCE_SELECT_VERTEX) {
BM_ITER(eve, &iter, bm, BM_VERTS_OF_MESH, NULL) {
- if(!BM_TestHFlag(eve, BM_HIDDEN) && BM_TestHFlag(eve, BM_SELECT))
+ if (BM_Selected(bm, eve)) {
BM_SetIndex(eve, SELECT);
- else
+ }
+ else {
BM_SetIndex(eve, 0);
+ }
}
}
else if(selectmode & SCE_SELECT_EDGE) {
@@ -2103,8 +2105,10 @@
eed = BMIter_New(&iter, bm, BM_EDGES_OF_MESH, NULL);
for( ; eed; eed=BMIter_Step(&iter)) {
- if(!BM_TestHFlag(eed, BM_HIDDEN) && BM_TestHFlag(eed, BM_SELECT))
- BM_SetIndex(eed->v1, SELECT), BM_SetIndex(eed->v2, SELECT);
+ if (BM_Selected(bm, eed)) {
+ BM_SetIndex(eed->v1, SELECT);
+ BM_SetIndex(eed->v2, SELECT);
+ }
}
}
else {
@@ -2114,7 +2118,7 @@
efa = BMIter_New(&iter, bm, BM_FACES_OF_MESH, NULL);
for( ; efa; efa=BMIter_Step(&iter)) {
- if(!BM_TestHFlag(efa, BM_HIDDEN) && BM_TestHFlag(efa, BM_SELECT)) {
+ if (BM_Selected(bm, efa)) {
BMIter liter;
BMLoop *l;
@@ -2133,17 +2137,17 @@
for(a=0; eve; eve=BMIter_Step(&iter), a++) {
BLI_array_growone(selstate);
- if(!BM_TestHFlag(eve, BM_HIDDEN)) {
- if(BM_GetIndex(eve)) {
- selstate[a] = 1;
- countsel++;
- }
- if(propmode) count++;
+ if(BM_GetIndex(eve)) {
+ selstate[a] = 1;
+ countsel++;
}
+ if(propmode) count++;
}
- /* note: in prop mode we need at least 1 selected */
- if (countsel==0) return;
+ /* note: in prop mode we need at least 1 selected */
+ if (countsel == 0) {
+ goto cleanup;
+ }
/* check active */
if (em->bm->selected.last) {
@@ -2284,7 +2288,8 @@
}
}
}
-
+
+cleanup:
/* crazy space free */
if(quats)
MEM_freeN(quats);
More information about the Bf-blender-cvs
mailing list