1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 08:17:45 +00:00

WindowServer: Add WindowFrame::invalidate_menubar() and use it

Clean up a FIXME about overly aggressive invalidation.
This commit is contained in:
Andreas Kling 2021-07-07 18:39:41 +02:00
parent b180e154aa
commit 092e5b75ba
3 changed files with 7 additions and 2 deletions

View file

@ -1264,8 +1264,7 @@ void Window::invalidate_menubar()
{ {
if (!m_should_show_menubar || !menubar()) if (!m_should_show_menubar || !menubar())
return; return;
// FIXME: This invalidates way more than the menubar! frame().invalidate_menubar();
frame().invalidate();
} }
void Window::set_modified(bool modified) void Window::set_modified(bool modified)

View file

@ -585,6 +585,11 @@ void WindowFrame::invalidate()
m_window.invalidate(true, true); m_window.invalidate(true, true);
} }
void WindowFrame::invalidate_menubar()
{
invalidate(menubar_rect());
}
void WindowFrame::invalidate(Gfx::IntRect relative_rect) void WindowFrame::invalidate(Gfx::IntRect relative_rect)
{ {
auto frame_rect = rect(); auto frame_rect = rect();

View file

@ -70,6 +70,7 @@ public:
void window_rect_changed(const Gfx::IntRect& old_rect, const Gfx::IntRect& new_rect); void window_rect_changed(const Gfx::IntRect& old_rect, const Gfx::IntRect& new_rect);
void invalidate_titlebar(); void invalidate_titlebar();
void invalidate_menubar();
void invalidate(Gfx::IntRect relative_rect); void invalidate(Gfx::IntRect relative_rect);
void invalidate(); void invalidate();