[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