From e6506062b0945c5e9af5ad065f96b073a4c37273 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sat, 6 Mar 2021 10:56:22 +0300 Subject: [PATCH] UI: send events to children in reverse order --- libs/ui/source/controller.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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;