[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36846] branches/bmesh/blender/source/ blender: =bmesh= fixed weld bug in uv editor
Joseph Eagar
joeedh at gmail.com
Tue May 24 03:34:32 CEST 2011
Revision: 36846
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36846
Author: joeedh
Date: 2011-05-24 01:34:28 +0000 (Tue, 24 May 2011)
Log Message:
-----------
=bmesh= fixed weld bug in uv editor
Modified Paths:
--------------
branches/bmesh/blender/source/blender/bmesh/operators/extrudeops.c
branches/bmesh/blender/source/blender/editors/uvedit/uvedit_ops.c
Modified: branches/bmesh/blender/source/blender/bmesh/operators/extrudeops.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/extrudeops.c 2011-05-24 01:03:35 UTC (rev 36845)
+++ branches/bmesh/blender/source/blender/bmesh/operators/extrudeops.c 2011-05-24 01:34:28 UTC (rev 36846)
@@ -58,13 +58,20 @@
BMO_SetFlag(bm, f, EXT_DEL);
- f2 = BM_Make_Ngon(bm, edges[0]->v1, edges[0]->v2, edges, f->len, 0);
+ f2 = BM_Make_Ngon(bm, lastv, firstv, edges, f->len, 0);
+ if (!f2) {
+ BMO_RaiseError(bm, op, BMERR_MESH_ERROR, "Extrude failed; could not create face");
+ BLI_array_free(edges);
+ return;
+ }
+
BMO_SetFlag(bm, f2, EXT_KEEP);
BM_Copy_Attributes(bm, bm, f, f2);
l2 = BMIter_New(&liter2, bm, BM_LOOPS_OF_FACE, f2);
BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, f) {
BM_Copy_Attributes(bm, bm, l, l2);
+
l3 = l->next;
l4 = l2->next;
@@ -79,8 +86,9 @@
}
}
+ BLI_array_free(edges);
+
BMO_CallOpf(bm, "del geom=%ff context=%d", EXT_DEL, DEL_ONLYFACES);
-
BMO_Flag_To_Slot(bm, op, "faceout", EXT_KEEP, BM_FACE);
}
Modified: branches/bmesh/blender/source/blender/editors/uvedit/uvedit_ops.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/uvedit/uvedit_ops.c 2011-05-24 01:03:35 UTC (rev 36845)
+++ branches/bmesh/blender/source/blender/editors/uvedit/uvedit_ops.c 2011-05-24 01:34:28 UTC (rev 36846)
@@ -519,11 +519,12 @@
continue;
BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) {
- if (uvedit_uv_selected(em, scene, l))
+ if (uvedit_uv_selected(em, scene, l)) {
luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV);
DO_MINMAX2(luv->uv, min, max);
sel = 1;
}
+ }
}
return sel;
More information about the Bf-blender-cvs
mailing list