From f7a59fd1cf8cc732ad86ab2502dbe152cde1675d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 23 Apr 2012 15:35:07 +0000 Subject: rip tool again (this in infact an old bug), when selecting an edge to extend the splitting to, dont step over manifold edges. - would result in duplicate edges. --- source/blender/editors/mesh/editmesh_rip.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'source/blender/editors/mesh/editmesh_rip.c') diff --git a/source/blender/editors/mesh/editmesh_rip.c b/source/blender/editors/mesh/editmesh_rip.c index caf44987f54..15e77458e5e 100644 --- a/source/blender/editors/mesh/editmesh_rip.c +++ b/source/blender/editors/mesh/editmesh_rip.c @@ -652,11 +652,15 @@ static int edbm_rip_invoke__edge(bContext *C, wmOperator *op, wmEvent *event) edbm_rip_edge_side_measure(e2, l_b, ar, projectMat, fmval)) ? l_a : l_b; l = BM_face_other_edge_loop(l->f, e2, v); - l = l->radial_next; - l = BM_face_other_edge_loop(l->f, l->e, v); - - if (l) { - BM_elem_flag_enable(l->e, BM_ELEM_TAG); + /* important edge is manifold else we can be attempting to split off a fan that don't budge, + * not crashing but adds duplicate edge. */ + if (BM_edge_is_manifold(l->e)) { + l = l->radial_next; + l = BM_face_other_edge_loop(l->f, l->e, v); + + if (l) { + BM_elem_flag_enable(l->e, BM_ELEM_TAG); + } } } else { -- cgit v1.2.3