aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsaac Freund <mail@isaacfreund.com>2023-03-08 12:20:27 +0100
committerIsaac Freund <mail@isaacfreund.com>2023-03-08 12:20:27 +0100
commitebfa892d95688aa9a5f1e3c822515765cb9a2169 (patch)
tree37d169761904cb636fc9ad325817647b3418f05a
parentf072d19e5154b6622ae4396a70b76a2dc2982db8 (diff)
downloadriver-ebfa892d95688aa9a5f1e3c822515765cb9a2169.tar.gz
river-ebfa892d95688aa9a5f1e3c822515765cb9a2169.tar.xz
XdgToplevel: clean up wlr_surface data on destroy
-rw-r--r--river/XdgToplevel.zig3
1 files changed, 3 insertions, 0 deletions
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();
}