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 /source/blender/bmesh/operators | |
parent | 3e2d8d223321c4490cd08979dcd23d338297ec18 (diff) |
Apply fix for T40745 to extrude_face_region too
Diffstat (limited to 'source/blender/bmesh/operators')
-rw-r--r-- | source/blender/bmesh/operators/bmo_extrude.c | 12 |
1 files changed, 10 insertions, 2 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 */ |