diff --git a/libs/ui/source/controller.cpp b/libs/ui/source/controller.cpp index f38e218a..347c2d89 100644 --- a/libs/ui/source/controller.cpp +++ b/libs/ui/source/controller.cpp @@ -81,8 +81,9 @@ namespace psemek::ui bool controller::impl::event(E const & e) { auto visitor = util::recursive([&](auto && self, element * elem) -> bool { - for (auto c : elem->children()) - if (c && self(c)) return true; + auto cs = elem->children(); + for (auto it = cs.rbegin(); it != cs.rend(); ++it) + if (*it && self(*it)) return true; if (elem->enabled() && elem->on_event(e)) return true; return false;