mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 05:07:45 +00:00
WindowServer: Redraw all menus on system theme change
This commit is contained in:
parent
4b6fba1e4c
commit
b31b904ad0
2 changed files with 15 additions and 0 deletions
|
@ -84,6 +84,14 @@ public:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
template<typename Callback>
|
||||||
|
void for_each_menu(Callback callback)
|
||||||
|
{
|
||||||
|
for (auto& it : m_menus) {
|
||||||
|
if (callback(*it.value) == IterationDecision::Break)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void notify_display_link(Badge<Compositor>);
|
void notify_display_link(Badge<Compositor>);
|
||||||
|
|
||||||
|
|
|
@ -103,6 +103,13 @@ void MenuManager::refresh()
|
||||||
return;
|
return;
|
||||||
draw();
|
draw();
|
||||||
window().invalidate();
|
window().invalidate();
|
||||||
|
|
||||||
|
ClientConnection::for_each_client([&](ClientConnection& client) {
|
||||||
|
client.for_each_menu([&](Menu& menu) {
|
||||||
|
menu.redraw();
|
||||||
|
return IterationDecision::Continue;
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void MenuManager::event(Core::Event& event)
|
void MenuManager::event(Core::Event& event)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue