diff --git a/radiantcore/layers/SetLayerSelectedWalker.h b/radiantcore/layers/SetLayerSelectedWalker.h index 0ddef28f43..0b71ab35fd 100644 --- a/radiantcore/layers/SetLayerSelectedWalker.h +++ b/radiantcore/layers/SetLayerSelectedWalker.h @@ -27,8 +27,9 @@ class SetLayerSelectedWalker : bool pre(const INodePtr& node) override { - // skip hidden nodes - if (!node->visible()) return false; + // Skip hidden nodes, but only when we're selecting + // When de-selecting we don't care whether the target node can be seen + if (_selected && !node->visible()) return false; // Skip the worldspawn if (Node_isWorldspawn(node)) return true;