Parcourir la source

WindowServer: Limit paint request rects to the visible window rect.

Don't send unnecessarily large paint requests to clients. This avoids some
unnecessary work and fixes choppiness when dragging widgets outside the
visible part of a VisualBuilder form.
Andreas Kling il y a 6 ans
Parent
commit
84f96c393c
1 fichiers modifiés avec 1 ajouts et 1 suppressions
  1. 1 1
      Servers/WindowServer/WSClientConnection.cpp

+ 1 - 1
Servers/WindowServer/WSClientConnection.cpp

@@ -503,7 +503,7 @@ void WSClientConnection::handle_request(const WSAPIInvalidateRectRequest& reques
     }
     auto& window = *(*it).value;
     for (int i = 0; i < request.rects().size(); ++i)
-        window.request_update(request.rects()[i]);
+        window.request_update(request.rects()[i].intersected({ { }, window.size() }));
 }
 
 void WSClientConnection::handle_request(const WSAPIDidFinishPaintingNotification& request)