mirror of
https://github.com/RGBCube/serenity
synced 2025-05-30 22:28:12 +00:00
WindowServer: Retain window backing stores while blitting them.
This commit is contained in:
parent
8a3af99416
commit
a915dd7b27
1 changed files with 3 additions and 2 deletions
|
@ -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();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue