WindowServer: Redraw all menus on system theme change

This commit is contained in:
Andreas Kling 2021-03-26 14:42:24 +01:00
parent 4b6fba1e4c
commit b31b904ad0
Notes: sideshowbarker 2024-07-18 21:04:40 +09:00
2 changed files with 15 additions and 0 deletions

View File

@ -84,6 +84,14 @@ public:
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>);

View File

@ -103,6 +103,13 @@ void MenuManager::refresh()
return;
draw();
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)