Преглед изворни кода

WindowServer+LibGUI: Simplify handling of paint event rects

Now that Vector<T> is convertible to Vector<T, n>, we don't have to
manually copy the paint event rectangles.
Andreas Kling пре 5 година
родитељ
комит
2d244a70a1

+ 2 - 7
Libraries/LibGUI/GWindowServerConnection.cpp

@@ -48,13 +48,8 @@ void GWindowServerConnection::handle(const WindowClient::Paint& message)
 #ifdef GEVENTLOOP_DEBUG
     dbgprintf("WID=%d Paint\n", message.window_id());
 #endif
-    if (auto* window = GWindow::from_window_id(message.window_id())) {
-        Vector<Rect, 32> rects;
-        for (auto& r : message.rects()) {
-            rects.append(r);
-        }
-        CEventLoop::current().post_event(*window, make<GMultiPaintEvent>(rects, message.window_size()));
-    }
+    if (auto* window = GWindow::from_window_id(message.window_id()))
+        CEventLoop::current().post_event(*window, make<GMultiPaintEvent>(message.rects(), message.window_size()));
 }
 
 void GWindowServerConnection::handle(const WindowClient::WindowResized& message)

+ 1 - 6
Servers/WindowServer/WSClientConnection.cpp

@@ -436,12 +436,7 @@ void WSClientConnection::post_paint_message(WSWindow& window)
     if (window.is_minimized() || window.is_occluded())
         return;
 
-    Vector<Rect> rects;
-    rects.ensure_capacity(rect_set.size());
-    for (auto& r : rect_set.rects()) {
-        rects.append(r);
-    }
-    post_message(WindowClient::Paint(window.window_id(), window.size(), rects));
+    post_message(WindowClient::Paint(window.window_id(), window.size(), rect_set.rects()));
 }
 
 void WSClientConnection::handle(const WindowServer::InvalidateRect& message)