mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-21 10:19:03 +03:00
WindowServer: Ignore overlap when compositing full-screen windows
Normally we walk the window stack to see if a given dirty rect is covered by an opaque window. When the active window is full-screened, we can skip this check and just unconditionally paint the window. This fixes an issue where windows with higher inherent z-order (like the taskbar and menu windows) would get cursor ghosting in them while a normal window was full-screened. Fixes #2289.
This commit is contained in:
parent
6d078a9ec3
commit
c1827d9766
Notes:
sideshowbarker
2024-07-19 06:23:33 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/c1827d97661
@ -172,7 +172,7 @@ void Compositor::compose()
|
||||
m_back_painter->add_clip_rect(window.frame().rect());
|
||||
RefPtr<Gfx::Bitmap> backing_store = window.backing_store();
|
||||
for (auto& dirty_rect : dirty_rects.rects()) {
|
||||
if (wm.any_opaque_window_above_this_one_contains_rect(window, dirty_rect))
|
||||
if (!window.is_fullscreen() && wm.any_opaque_window_above_this_one_contains_rect(window, dirty_rect))
|
||||
continue;
|
||||
Gfx::PainterStateSaver saver(*m_back_painter);
|
||||
m_back_painter->add_clip_rect(dirty_rect);
|
||||
|
Loading…
Reference in New Issue
Block a user