[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45886] trunk/blender/source/blender/ editors/mesh/editmesh_rip.c: rip tool again (this in infact an old bug), when selecting an edge to extend the splitting to, dont step over manifold edges.

Campbell Barton ideasman42 at gmail.com
Mon Apr 23 17:35:07 CEST 2012


Revision: 45886
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45886
Author:   campbellbarton
Date:     2012-04-23 15:35:07 +0000 (Mon, 23 Apr 2012)
Log Message:
-----------
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.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/mesh/editmesh_rip.c

Modified: trunk/blender/source/blender/editors/mesh/editmesh_rip.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_rip.c	2012-04-23 15:26:06 UTC (rev 45885)
+++ trunk/blender/source/blender/editors/mesh/editmesh_rip.c	2012-04-23 15:35:07 UTC (rev 45886)
@@ -652,11 +652,15 @@
 				     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);
+				/* 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);
+					if (l) {
+						BM_elem_flag_enable(l->e, BM_ELEM_TAG);
+					}
 				}
 			}
 			else {




More information about the Bf-blender-cvs mailing list