WindowServer: Ensure menu visibility after pushing menu to the stack
We need to make sure the menu was pushed to the open menu stack before calling set_visible, as this may trigger cursor re-evaluation, which in turn expects the menu to be considered open. Fixes #10836
This commit is contained in:
parent
81786f6abe
commit
32d59257d6
Notes:
sideshowbarker
2024-07-18 01:13:52 +09:00
Author: https://github.com/tomuta Commit: https://github.com/SerenityOS/serenity/commit/32d59257d65 Pull-request: https://github.com/SerenityOS/serenity/pull/10885 Issue: https://github.com/SerenityOS/serenity/issues/10836
2 changed files with 2 additions and 1 deletions
|
@ -638,7 +638,6 @@ void Menu::do_popup(const Gfx::IntPoint& position, bool make_input, bool as_subm
|
|||
}
|
||||
|
||||
window.move_to(adjusted_pos);
|
||||
set_visible(true);
|
||||
MenuManager::the().open_menu(*this, make_input);
|
||||
WindowManager::the().did_popup_a_menu({});
|
||||
}
|
||||
|
|
|
@ -298,6 +298,8 @@ void MenuManager::open_menu(Menu& menu, bool as_current_menu)
|
|||
|
||||
m_open_menu_stack.append(menu);
|
||||
|
||||
menu.set_visible(true);
|
||||
|
||||
if (!menu.is_empty()) {
|
||||
menu.redraw_if_theme_changed();
|
||||
auto* window = menu.menu_window();
|
||||
|
|
Loading…
Add table
Reference in a new issue