# HG changeset patch # User Santeri Piippo # Date 1404736725 -10800 # Node ID ad681d97d341584ee6348ce3c100be9f7004ac46 # Parent 5c751af82f35a223f9cc9714d362ac54d09041de - magic wand: when flood-selecting surfaces, also pick any matching conditional lines diff -r 5c751af82f35 -r ad681d97d341 src/editmodes/magicWandMode.cc --- a/src/editmodes/magicWandMode.cc Mon Jul 07 02:13:31 2014 +0300 +++ b/src/editmodes/magicWandMode.cc Mon Jul 07 15:38:45 2014 +0300 @@ -46,7 +46,7 @@ // of candidates. for (auto it = candidates.begin(); it != candidates.end(); ++it) { - if ((*it)->type() != OBJ_Line || (*it)->vertex (0) == (*it)->vertex (1)) + if (not eq ((*it)->type(), OBJ_Line, OBJ_CondLine) || (*it)->vertex (0) == (*it)->vertex (1)) continue; int matches = 0; @@ -58,8 +58,13 @@ if (++matches == 2) { - // Boundary found. Add to boundaries list and get it off the candidates list. - boundaries.append (std::make_tuple ((*it)->vertex (0), (*it)->vertex (1))); + // Boundary found. If it's an edgeline, add it to the boundaries list, if a + // conditional line, select it. + if ((*it)->type() == OBJ_CondLine) + _selection << *it; + else + boundaries.append (std::make_tuple ((*it)->vertex (0), (*it)->vertex (1))); + break; } }