scene: Fix SurfaceItemWayland::freeze()

When a wl_surface is unmapped, we need to stop updating the buffer
in SurfacePixmapWayland.

However, SurfaceItemWayland::freeze() doesn't unset m_surface, so
the SurfacePixmapWayland keeps updating the buffer even after the
surface is unmapped. This results in some closed windows losing their
contents when playing a window closing animation.
This commit is contained in:
Vlad Zahorodnii 2024-08-14 12:36:06 +03:00
parent 883fde4298
commit 94b2c5e50e

View file

@ -196,6 +196,8 @@ void SurfaceItemWayland::freeze()
for (auto &[subsurface, subsurfaceItem] : m_subsurfaces) {
subsurfaceItem->freeze();
}
m_surface = nullptr;
}
void SurfaceItemWayland::handleColorDescriptionChanged()