[Bf-blender-cvs] [a7442be] master: Fix selecting linked edges

Campbell Barton noreply at git.blender.org
Wed Aug 5 12:29:19 CEST 2015


Commit: a7442bef59b3857e5b0d085ce94193ba9899459c
Author: Campbell Barton
Date:   Wed Aug 5 20:24:01 2015 +1000
Branches: master
https://developer.blender.org/rBa7442bef59b3857e5b0d085ce94193ba9899459c

Fix selecting linked edges

===================================================================

M	source/blender/bmesh/intern/bmesh_walkers_impl.c

===================================================================

diff --git a/source/blender/bmesh/intern/bmesh_walkers_impl.c b/source/blender/bmesh/intern/bmesh_walkers_impl.c
index b38c99d..3057454 100644
--- a/source/blender/bmesh/intern/bmesh_walkers_impl.c
+++ b/source/blender/bmesh/intern/bmesh_walkers_impl.c
@@ -471,7 +471,19 @@ static void bmw_LoopShellWireWalker_begin(BMWalker *walker, void *data)
 		case BM_EDGE:
 		{
 			BMEdge *e = (BMEdge *)h;
-			bmw_LoopShellWalker_visitEdgeWire(walker, e);
+			if (bmw_mask_check_edge(walker, e)) {
+				bmw_LoopShellWireWalker_visitVert(walker, e->v1, NULL);
+				bmw_LoopShellWireWalker_visitVert(walker, e->v2, NULL);
+			}
+			else {
+				BMLoop *l_iter, *l_first;
+
+				l_iter = l_first = e->l;
+				do {
+					bmw_LoopShellWalker_visitLoop(walker, l_iter);
+					bmw_LoopShellWalker_visitLoop(walker, l_iter->next);
+				} while ((l_iter = l_iter->radial_next) != l_first);
+			}
 			break;
 		}
 		case BM_FACE:




More information about the Bf-blender-cvs mailing list