From a7442bef59b3857e5b0d085ce94193ba9899459c Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 5 Aug 2015 20:24:01 +1000 Subject: Fix selecting linked edges --- source/blender/bmesh/intern/bmesh_walkers_impl.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'source/blender/bmesh/intern') diff --git a/source/blender/bmesh/intern/bmesh_walkers_impl.c b/source/blender/bmesh/intern/bmesh_walkers_impl.c index b38c99d2240..3057454e21f 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: -- cgit v1.2.3