From 56fcab6ee9583326217e0c55305ca47378678aed Mon Sep 17 00:00:00 2001 From: tiosgz Date: Sat, 30 Apr 2022 12:25:50 +0000 Subject: Switch: register destroy listener --- river/Switch.zig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/river/Switch.zig b/river/Switch.zig index 23667a3..7e41eb0 100644 --- a/river/Switch.zig +++ b/river/Switch.zig @@ -51,7 +51,7 @@ seat: *Seat, input_device: *wlr.InputDevice, switch_device: wl.Listener(*wlr.Switch.event.Toggle) = wl.Listener(*wlr.Switch.event.Toggle).init(handleToggle), -destroy: wl.Listener(*wlr.Switch) = wl.Listener(*wlr.Switch).init(handleDestroy), +destroy: wl.Listener(*wlr.InputDevice) = wl.Listener(*wlr.InputDevice).init(handleDestroy), pub fn init(self: *Self, seat: *Seat, input_device: *wlr.InputDevice) void { self.* = .{ @@ -62,6 +62,7 @@ pub fn init(self: *Self, seat: *Seat, input_device: *wlr.InputDevice) void { const wlr_switch = self.input_device.device.switch_device; wlr_switch.events.toggle.add(&self.switch_device); + self.input_device.events.destroy.add(&self.destroy); } pub fn deinit(self: *Self) void { @@ -98,7 +99,7 @@ fn handleToggle(listener: *wl.Listener(*wlr.Switch.event.Toggle), event: *wlr.Sw self.seat.handleSwitchMapping(switch_type, switch_state); } -fn handleDestroy(listener: *wl.Listener(*wlr.Switch), _: *wlr.Switch) void { +fn handleDestroy(listener: *wl.Listener(*wlr.InputDevice), _: *wlr.InputDevice) void { const self = @fieldParentPtr(Self, "destroy", listener); const node = @fieldParentPtr(std.TailQueue(Self).Node, "data", self); -- cgit v1.2.3