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.
wilder/Plasma/6.2
Vlad Zahorodnii 2 years ago
parent 883fde4298
commit 94b2c5e50e
  1. 2
      src/scene/surfaceitem_wayland.cpp

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

Loading…
Cancel
Save