From e72afab140cc8540931c7e484aa54257507df329 Mon Sep 17 00:00:00 2001 From: Zakariyya Von Forslun Date: Mon, 30 May 2022 01:01:49 +1000 Subject: Xwayland: add handling of override redirect listeners Adding the set_override_redirect listener on creation and removing it on destruction was missed when implementing override redirect state change handling. --- river/XwaylandUnmanaged.zig | 2 ++ river/XwaylandView.zig | 2 ++ 2 files changed, 4 insertions(+) diff --git a/river/XwaylandUnmanaged.zig b/river/XwaylandUnmanaged.zig index f490779..e1b1d3a 100644 --- a/river/XwaylandUnmanaged.zig +++ b/river/XwaylandUnmanaged.zig @@ -60,6 +60,7 @@ pub fn create(xwayland_surface: *wlr.XwaylandSurface) error{OutOfMemory}!*Self { xwayland_surface.events.destroy.add(&self.destroy); xwayland_surface.events.map.add(&self.map); xwayland_surface.events.unmap.add(&self.unmap); + xwayland_surface.events.set_override_redirect.add(&self.set_override_redirect); return self; } @@ -80,6 +81,7 @@ fn handleDestroy(listener: *wl.Listener(*wlr.XwaylandSurface), _: *wlr.XwaylandS self.destroy.link.remove(); self.map.link.remove(); self.unmap.link.remove(); + self.set_override_redirect.link.remove(); // Deallocate the node const node = @fieldParentPtr(std.TailQueue(Self).Node, "data", self); diff --git a/river/XwaylandView.zig b/river/XwaylandView.zig index b7434c8..ac28f79 100644 --- a/river/XwaylandView.zig +++ b/river/XwaylandView.zig @@ -83,6 +83,7 @@ pub fn create(output: *Output, xwayland_surface: *wlr.XwaylandSurface) error{Out xwayland_surface.events.map.add(&self.map); xwayland_surface.events.unmap.add(&self.unmap); xwayland_surface.events.request_configure.add(&self.request_configure); + xwayland_surface.events.set_override_redirect.add(&self.set_override_redirect); return self; } @@ -188,6 +189,7 @@ fn handleDestroy(listener: *wl.Listener(*wlr.XwaylandSurface), _: *wlr.XwaylandS self.map.link.remove(); self.unmap.link.remove(); self.request_configure.link.remove(); + self.set_override_redirect.link.remove(); self.view.destroy(); } -- cgit v1.2.3