mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-02-25 09:04:53 +00:00
WindowServer: Retain window backing stores while blitting them.
This commit is contained in:
@@ -336,7 +336,8 @@ void WSWindowManager::compose()
|
||||
}
|
||||
for (auto* window = m_windows_in_order.head(); window; window = window->next()) {
|
||||
WSWindowLocker locker(*window);
|
||||
if (!window->backing())
|
||||
RetainPtr<GraphicsBitmap> backing = window->backing();
|
||||
if (!backing)
|
||||
continue;
|
||||
if (!any_dirty_rect_intersects_window(*window))
|
||||
continue;
|
||||
@@ -350,7 +351,7 @@ void WSWindowManager::compose()
|
||||
dirty_rect_in_window_coordinates.set_y(dirty_rect_in_window_coordinates.y() - window->y());
|
||||
auto dst = window->position();
|
||||
dst.move_by(dirty_rect_in_window_coordinates.location());
|
||||
m_back_painter->blit(dst, *window->backing(), dirty_rect_in_window_coordinates);
|
||||
m_back_painter->blit(dst, *backing, dirty_rect_in_window_coordinates);
|
||||
m_back_painter->clear_clip_rect();
|
||||
}
|
||||
m_back_painter->clear_clip_rect();
|
||||
|
||||
Reference in New Issue
Block a user