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>2014-05-13 12:35:14 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-05-13 12:41:04 +0400
commitb12bf2216f1727250032a44237b3476ffec75e45 (patch)
tree282fc12776d6197032bdf84b8c5961a3c4d47754 /source/blender/bmesh/operators/bmo_connect.c
parentdd8a9eee3b403e91543e358b2ecffd40d3adaa6b (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.c10
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;
}