From 3a753815056ec5136cfb0cd8824fac7c3f89638e Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 23 Jun 2014 00:12:06 +1000 Subject: Apply fix for T40745 to extrude_face_region too --- source/blender/bmesh/operators/bmo_extrude.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'source/blender/bmesh/operators') 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 */ -- cgit v1.2.3