Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-03-13 11:19:41 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-03-13 11:21:10 +0300
commit432750f7cf4164f9e9c1b9f4db006bd25beb0012 (patch)
treeaa347e95f162a495b4cab150993523113ea0c84a /source/blender/bmesh/operators/bmo_dupe.c
parentef045139250647275b16a8ab958a28b61187ad49 (diff)
Fix T62487: Flipped normals extruding edge loop
Diffstat (limited to 'source/blender/bmesh/operators/bmo_dupe.c')
-rw-r--r--source/blender/bmesh/operators/bmo_dupe.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/bmesh/operators/bmo_dupe.c b/source/blender/bmesh/operators/bmo_dupe.c
index c5a6a582b96..a5ad162b586 100644
--- a/source/blender/bmesh/operators/bmo_dupe.c
+++ b/source/blender/bmesh/operators/bmo_dupe.c
@@ -121,6 +121,12 @@ static BMEdge *bmo_edge_copy(
/* Mark the edge for output */
BMO_edge_flag_enable(bm_dst, e_dst, DUPE_NEW);
+ /* Take winding from previous face (if we had one),
+ * otherwise extruding a duplicated edges gives bad normals, see: T62487. */
+ if (BM_edge_is_boundary(e_src) && (e_src->l->v == e_src->v1)) {
+ BM_edge_verts_swap(e_dst);
+ }
+
return e_dst;
}