git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commitd25a4db2e4daae2db178110abe5376472ba60d92
parentf3cca1eb45
authorIsaac Freund <[email protected]>
date2023-03-08 12:20
XdgToplevel: clean up wlr_surface data on destroy

 river/XdgToplevel.zig | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/river/XdgToplevel.zig b/river/XdgToplevel.zig
index a3a96ac..d5e84f9 100644
--- a/river/XdgToplevel.zig
+++ b/river/XdgToplevel.zig
@@ -171,6 +171,9 @@ fn handleDestroy(listener: *wl.Listener(void)) void {
     self.map.link.remove();
     self.unmap.link.remove();
 
+    // The wlr_surface may outlive the wlr_xdg_surface so we must clean up the user data.
+    self.xdg_toplevel.base.surface.data = 0;
+
     self.view.destroy();
 }