diff --git a/xwayland/xwm.c b/xwayland/xwm.c index 849acff8..0b9ffac2 100644 --- a/xwayland/xwm.c +++ b/xwayland/xwm.c @@ -1114,6 +1114,10 @@ void xwm_destroy(struct wlr_xwm *xwm) { wl_list_for_each_safe(xsurface, tmp, &xwm->unpaired_surfaces, link) { wlr_xwayland_surface_destroy(xsurface); } + if (xwm->seat) { + wl_list_remove(&xwm->seat_selection.link); + wl_list_remove(&xwm->seat_primary_selection.link); + } wl_list_remove(&xwm->compositor_surface_create.link); xcb_disconnect(xwm->xcb_conn);