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>2015-08-05 13:24:01 +0300
committerCampbell Barton <ideasman42@gmail.com>2015-08-05 13:24:27 +0300
commita7442bef59b3857e5b0d085ce94193ba9899459c (patch)
tree992fd20a97c8617034fbec00bbbe1d43ed67d9bd /source/blender/bmesh/intern
parent25f381a9b2006d23a4e95018c3c5d1e285d1b2f4 (diff)
Fix selecting linked edges
Diffstat (limited to 'source/blender/bmesh/intern')
-rw-r--r--source/blender/bmesh/intern/bmesh_walkers_impl.c14
1 files changed, 13 insertions, 1 deletions
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: