From 02b523f9cda1f5e68dadaf7fc1424cf88737824c Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 4 Apr 2019 17:35:22 +0200 Subject: [PATCH] WindowServer: Clip dirty cursor rects to the screen in compose(). --- Servers/WindowServer/WSWindowManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Servers/WindowServer/WSWindowManager.cpp b/Servers/WindowServer/WSWindowManager.cpp index d9eb2f7285..3f7fd48df7 100644 --- a/Servers/WindowServer/WSWindowManager.cpp +++ b/Servers/WindowServer/WSWindowManager.cpp @@ -874,8 +874,8 @@ void WSWindowManager::process_mouse_event(const WSMouseEvent& event, WSWindow*& void WSWindowManager::compose() { auto dirty_rects = move(m_dirty_rects); - dirty_rects.add(m_last_cursor_rect); - dirty_rects.add(current_cursor_rect()); + dirty_rects.add(Rect::intersection(m_last_cursor_rect, m_screen_rect)); + dirty_rects.add(Rect::intersection(current_cursor_rect(), m_screen_rect)); #ifdef DEBUG_COUNTERS dbgprintf("[WM] compose #%u (%u rects)\n", ++m_compose_count, dirty_rects.rects().size()); #endif