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; });