mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 16:37:35 +00:00
WindowServer: Fix menu over-drawing
We only need to re-draw the item being selected and the item being deselected. We also don't care anymore if applets were added or removed as we no longer have a global menu bar.
This commit is contained in:
parent
8a4971f908
commit
7ae46ae218
6 changed files with 114 additions and 83 deletions
|
@ -43,6 +43,7 @@ void MenuManager::refresh()
|
|||
{
|
||||
ClientConnection::for_each_client([&](ClientConnection& client) {
|
||||
client.for_each_menu([&](Menu& menu) {
|
||||
dbgln("MenuManager::refresh {}", &menu);
|
||||
menu.redraw();
|
||||
return IterationDecision::Continue;
|
||||
});
|
||||
|
@ -220,7 +221,6 @@ void MenuManager::close_everyone()
|
|||
}
|
||||
m_open_menu_stack.clear();
|
||||
clear_current_menu();
|
||||
refresh();
|
||||
}
|
||||
|
||||
void MenuManager::close_everyone_not_in_lineage(Menu& menu)
|
||||
|
@ -247,7 +247,6 @@ void MenuManager::close_menus(const Vector<Menu&>& menus)
|
|||
return entry == &menu;
|
||||
});
|
||||
}
|
||||
refresh();
|
||||
}
|
||||
|
||||
static void collect_menu_subtree(Menu& menu, Vector<Menu&>& menus)
|
||||
|
@ -313,8 +312,6 @@ void MenuManager::open_menu(Menu& menu, bool as_current_menu)
|
|||
// other menu is current
|
||||
set_current_menu(&menu);
|
||||
}
|
||||
|
||||
refresh();
|
||||
}
|
||||
|
||||
void MenuManager::clear_current_menu()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue