diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-06-22 18:12:06 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-06-22 18:12:06 +0400 |
commit | 3a753815056ec5136cfb0cd8824fac7c3f89638e (patch) | |
tree | f434895ecb3726996fb81634195606dff37d38f3 | |
parent | 3e2d8d223321c4490cd08979dcd23d338297ec18 (diff) |
Apply fix for T40745 to extrude_face_region too
-rw-r--r-- | source/blender/bmesh/operators/bmo_extrude.c | 12 | ||||
-rw-r--r-- | source/blender/editors/mesh/editmesh_extrude.c | 2 |
2 files changed, 11 insertions, 3 deletions
diff --git a/source/blender/bmesh/operators/bmo_extrude.c b/source/blender/bmesh/operators/bmo_extrude.c index d1747691c90..510c3ae0078 100644 --- a/source/blender/bmesh/operators/bmo_extrude.c +++ b/source/blender/bmesh/operators/bmo_extrude.c @@ -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 */ diff --git a/source/blender/editors/mesh/editmesh_extrude.c b/source/blender/editors/mesh/editmesh_extrude.c index 5da33663897..595c43c1060 100644 --- a/source/blender/editors/mesh/editmesh_extrude.c +++ b/source/blender/editors/mesh/editmesh_extrude.c @@ -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"; |