1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-18 04:25:08 +00:00

WindowServer: Clip dirty cursor rects to the screen in compose().

This commit is contained in:
Andreas Kling 2019-04-04 17:35:22 +02:00
parent 8f38c01600
commit 02b523f9cd

View file

@ -874,8 +874,8 @@ void WSWindowManager::process_mouse_event(const WSMouseEvent& event, WSWindow*&
void WSWindowManager::compose() void WSWindowManager::compose()
{ {
auto dirty_rects = move(m_dirty_rects); auto dirty_rects = move(m_dirty_rects);
dirty_rects.add(m_last_cursor_rect); dirty_rects.add(Rect::intersection(m_last_cursor_rect, m_screen_rect));
dirty_rects.add(current_cursor_rect()); dirty_rects.add(Rect::intersection(current_cursor_rect(), m_screen_rect));
#ifdef DEBUG_COUNTERS #ifdef DEBUG_COUNTERS
dbgprintf("[WM] compose #%u (%u rects)\n", ++m_compose_count, dirty_rects.rects().size()); dbgprintf("[WM] compose #%u (%u rects)\n", ++m_compose_count, dirty_rects.rects().size());
#endif #endif