diff --git a/libs/ui/source/controller.cpp b/libs/ui/source/controller.cpp index 347c2d89..f0df848e 100644 --- a/libs/ui/source/controller.cpp +++ b/libs/ui/source/controller.cpp @@ -81,6 +81,8 @@ namespace psemek::ui bool controller::impl::event(E const & e) { auto visitor = util::recursive([&](auto && self, element * elem) -> bool { + if (elem->hidden()) return false; + auto cs = elem->children(); for (auto it = cs.rbegin(); it != cs.rend(); ++it) if (*it && self(*it)) return true; @@ -182,6 +184,7 @@ namespace psemek::ui gl::Disable(gl::CULL_FACE); auto visitor = util::recursive([&](auto && self, element * elem) -> void { + if (elem->hidden()) return; elem->draw(impl().painter); for (auto c : elem->children()) if (c) self(c);