Seat: do a better job of cleaning up listeners
I thought this should be fine as river won't yield to the event loop when Seat.deinit() is called before the wlroots seat is destroyed, but a segfault on exit has been reported with a stack trace mentioning wlr_seat_destroy(). Let's hope this clears that up.
This commit is contained in:
parent
e16eabd928
commit
1c515759b4
@ -128,6 +128,12 @@ pub fn deinit(self: *Self) void {
|
||||
self.focus_stack.remove(node);
|
||||
util.gpa.destroy(node);
|
||||
}
|
||||
|
||||
self.request_set_selection.link.remove();
|
||||
self.request_start_drag.link.remove();
|
||||
self.start_drag.link.remove();
|
||||
if (self.pointer_drag) self.pointer_drag_destroy.link.remove();
|
||||
self.request_set_primary_selection.link.remove();
|
||||
}
|
||||
|
||||
/// Set the current focus. If a visible view is passed it will be focused.
|
||||
|
Loading…
Reference in New Issue
Block a user