diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-05-13 21:42:27 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-05-13 21:42:27 +0400 |
commit | 92da9792fe7f3d2b67f59133c584786aa72777ae (patch) | |
tree | 689c69ba2cf9cffb4a9d29a42bb08f07901fade0 /source | |
parent | f4bb0a741287f412ea2d49d8641b18ec56ff1e65 (diff) |
fix for strange behavior with loop select involving ngons,
when selecting a loop with quads on one side an ngon on another - never select the outer boundary edge of the ngon.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_walkers_impl.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/bmesh/intern/bmesh_walkers_impl.c b/source/blender/bmesh/intern/bmesh_walkers_impl.c index a45d3d6d77e..187c808de41 100644 --- a/source/blender/bmesh/intern/bmesh_walkers_impl.c +++ b/source/blender/bmesh/intern/bmesh_walkers_impl.c @@ -522,7 +522,9 @@ static void *bmw_LoopWalker_step(BMWalker *walker) nexte = BM_edge_exists(v, l->v); if (bmw_mask_check_edge(walker, nexte) && - !BLI_ghash_haskey(walker->visithash, nexte)) + !BLI_ghash_haskey(walker->visithash, nexte) && + /* never step onto a boundary edge, this gives odd-results */ + (BM_edge_is_boundary(nexte) == false)) { lwalk = BMW_state_add(walker); lwalk->cur = nexte; |