summaryrefslogtreecommitdiff
path: root/Userland/Services/WindowServer
diff options
context:
space:
mode:
authorNico Weber <thakis@chromium.org>2021-01-22 18:56:01 -0500
committerAndreas Kling <kling@serenityos.org>2021-01-23 08:31:41 +0100
commit345909c009679f5edf10cefca78089b4d1fe7eba (patch)
tree4bd1a9dc79d6d17259bd731d0aa9c1921b0b6dd4 /Userland/Services/WindowServer
parentdcc967d1ad031ad1e6285d732c18396a2a1da11c (diff)
downloadserenity-345909c009679f5edf10cefca78089b4d1fe7eba.zip
WindowServer: Don't crash on wallpapers smaller than the desktop with fill mode 'simple'
blit() calls draw_scaled_bitmap() behind the scenes in scaled contexts, and that doesn't like src_rect to be outside of the source bitmap's bounds. Implicitly clip with the source rect, like the non-scaled codepath already does. Fixes #5017 even more.
Diffstat (limited to 'Userland/Services/WindowServer')
-rw-r--r--Userland/Services/WindowServer/Compositor.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/Userland/Services/WindowServer/Compositor.cpp b/Userland/Services/WindowServer/Compositor.cpp
index 9d2d025e02..38156ac218 100644
--- a/Userland/Services/WindowServer/Compositor.cpp
+++ b/Userland/Services/WindowServer/Compositor.cpp
@@ -246,7 +246,7 @@ void Compositor::compose()
auto temp_painter = *m_temp_painter;
auto paint_wallpaper = [&](Gfx::Painter& painter, const Gfx::IntRect& rect) {
- // FIXME: If the wallpaper is opaque, no need to fill with color!
+ // FIXME: If the wallpaper is opaque and covers the whole rect, no need to fill with color!
painter.fill_rect(rect, background_color);
if (m_wallpaper) {
if (m_wallpaper_mode == WallpaperMode::Simple) {