Apply fix for T40745 to extrude_face_region too
authorCampbell Barton <ideasman42@gmail.com>
Sun, 22 Jun 2014 14:12:06 +0000 (00:12 +1000)
committerCampbell Barton <ideasman42@gmail.com>
Sun, 22 Jun 2014 14:12:06 +0000 (00:12 +1000)
source/blender/bmesh/operators/bmo_extrude.c
source/blender/editors/mesh/editmesh_extrude.c

index d1747691c903101a6b4a53f56e40febcca8877af..510c3ae0078cc1f2f34459fb40d9a5fa944ba8e1 100644 (file)
@@ -217,7 +217,7 @@ void bmo_extrude_vert_indiv_exec(BMesh *bm, BMOperator *op)
                if (has_vskin)
                        bm_extrude_disable_skin_root(bm, v);
 
-               /* not essentuial, but ensures face normals from extruded edges are contiguous */
+               /* not essential, but ensures face normals from extruded edges are contiguous */
                if (BM_vert_is_wire_endpoint(v)) {
                        if (v->e->v1 == v) {
                                SWAP(BMVert *, v, dupev);
@@ -415,7 +415,15 @@ void bmo_extrude_face_region_exec(BMesh *bm, BMOperator *op)
        /* link isolated vert */
        for (v = BMO_iter_new(&siter, dupeop.slots_out, "isovert_map.out", 0); v; v = BMO_iter_step(&siter)) {
                BMVert *v2 = BMO_iter_map_value_ptr(&siter);
-               BM_edge_create(bm, v, v2, v->e, BM_CREATE_NO_DOUBLE);
+
+               /* not essential, but ensures face normals from extruded edges are contiguous */
+               if (BM_vert_is_wire_endpoint(v)) {
+                       if (v->e->v1 == v) {
+                               SWAP(BMVert *, v, v2);
+                       }
+               }
+
+               BM_edge_create(bm, v, v2, NULL, BM_CREATE_NO_DOUBLE);
        }
 
        /* cleanup */
index 5da3366389791ad7d1b5eb4d2ec54903308d036b..595c43c1060bbf2ae627bf25d4e0935d99d26137 100644 (file)
@@ -693,7 +693,7 @@ static int edbm_dupli_extrude_cursor_invoke(bContext *C, wmOperator *op, const w
 void MESH_OT_dupli_extrude_cursor(wmOperatorType *ot)
 {
        /* identifiers */
-       ot->name = "Duplicate or Extrude at 3D Cursor";
+       ot->name = "Duplicate or Extrude to Cursor";
        ot->idname = "MESH_OT_dupli_extrude_cursor";
        ot->description = "Duplicate and extrude selected vertices, edges or faces towards the mouse cursor";