From 27cb91e3e08705c8e5a13e8a8d61c99eb26ccf62 Mon Sep 17 00:00:00 2001 From: Shannon Booth Date: Fri, 3 Jan 2020 14:09:12 +1300 Subject: [PATCH] WSMenuManager: On menu close, close the currently hovered menu item Ensure that the current hover is not still hovered when the menu is opened again. --- Servers/WindowServer/WSMenuManager.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Servers/WindowServer/WSMenuManager.cpp b/Servers/WindowServer/WSMenuManager.cpp index af32124667..fe474c7578 100644 --- a/Servers/WindowServer/WSMenuManager.cpp +++ b/Servers/WindowServer/WSMenuManager.cpp @@ -315,6 +315,7 @@ void WSMenuManager::close_everyone() for (auto& menu : m_open_menu_stack) { if (menu && menu->menu_window()) menu->menu_window()->set_visible(false); + menu->clear_hovered_item(); } m_open_menu_stack.clear(); m_current_menu = nullptr; @@ -341,6 +342,7 @@ void WSMenuManager::close_menus(const Vector& menus) m_current_menu = nullptr; if (menu->menu_window()) menu->menu_window()->set_visible(false); + menu->clear_hovered_item(); m_open_menu_stack.remove_first_matching([&](auto& entry) { return entry == menu; });