diff --git a/Userland/Services/WindowServer/Menubar.h b/Userland/Services/WindowServer/Menubar.h index a670444e44..d05b18dcf0 100644 --- a/Userland/Services/WindowServer/Menubar.h +++ b/Userland/Services/WindowServer/Menubar.h @@ -56,6 +56,13 @@ public: } } + void font_changed(Gfx::IntRect window_rect) + { + m_next_menu_location = { 0, 0 }; + for (auto& menu : m_menus) + layout_menu(menu, window_rect); + } + private: void layout_menu(Menu&, Gfx::IntRect window_rect); diff --git a/Userland/Services/WindowServer/WindowManager.cpp b/Userland/Services/WindowServer/WindowManager.cpp index c70d9d6ac8..152d023108 100644 --- a/Userland/Services/WindowServer/WindowManager.cpp +++ b/Userland/Services/WindowServer/WindowManager.cpp @@ -2080,6 +2080,7 @@ void WindowManager::invalidate_after_theme_or_font_change() for_each_window_stack([&](auto& window_stack) { window_stack.for_each_window([&](Window& window) { window.frame().theme_changed(); + window.menubar().font_changed(window.rect()); return IterationDecision::Continue; }); return IterationDecision::Continue;