diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-05-13 12:35:14 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-05-13 12:41:04 +0400 |
commit | b12bf2216f1727250032a44237b3476ffec75e45 (patch) | |
tree | 282fc12776d6197032bdf84b8c5961a3c4d47754 /source/blender/bmesh/operators/bmo_connect.c | |
parent | dd8a9eee3b403e91543e358b2ecffd40d3adaa6b (diff) |
Correct last commit, check not to split along edges already used
Diffstat (limited to 'source/blender/bmesh/operators/bmo_connect.c')
-rw-r--r-- | source/blender/bmesh/operators/bmo_connect.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/bmesh/operators/bmo_connect.c b/source/blender/bmesh/operators/bmo_connect.c index 0848ae8ef10..c98777d87a8 100644 --- a/source/blender/bmesh/operators/bmo_connect.c +++ b/source/blender/bmesh/operators/bmo_connect.c @@ -63,9 +63,13 @@ static int bm_face_connect_verts(BMesh *bm, BMFace *f, const bool check_degenera } if (!BM_loop_is_adjacent(l_last, l)) { - BMLoop **l_pair = STACK_PUSH_RET(loops_split); - l_pair[0] = l_last; - l_pair[1] = l; + BMEdge *e; + e = BM_edge_exists(l_last->v, l->v); + if (e == NULL || !BMO_elem_flag_test(bm, e, EDGE_OUT)) { + BMLoop **l_pair = STACK_PUSH_RET(loops_split); + l_pair[0] = l_last; + l_pair[1] = l; + } } l_last = l; } |