From 7a1a8d267db876f07bccbd819efc0a11305df243 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 5 Nov 2021 00:54:49 +0100 Subject: [PATCH] WindowServer: Add menus to open menu stack before making them visible This prevents an issue where the first mouse event in a newly opened would not get handled because we didn't think the menu was open yet. --- Userland/Services/WindowServer/MenuManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Userland/Services/WindowServer/MenuManager.cpp b/Userland/Services/WindowServer/MenuManager.cpp index 875e5b86a3..be159125c2 100644 --- a/Userland/Services/WindowServer/MenuManager.cpp +++ b/Userland/Services/WindowServer/MenuManager.cpp @@ -296,6 +296,8 @@ void MenuManager::open_menu(Menu& menu, bool as_current_menu) return; } + m_open_menu_stack.append(menu); + if (!menu.is_empty()) { menu.redraw_if_theme_changed(); auto* window = menu.menu_window(); @@ -303,8 +305,6 @@ void MenuManager::open_menu(Menu& menu, bool as_current_menu) window->set_visible(true); } - m_open_menu_stack.append(menu); - if (as_current_menu || !current_menu()) { // Only make this menu the current menu if requested, or if no // other menu is current