diff --git a/src/seat.c b/src/seat.c index 622a6c7f..48e82e67 100644 --- a/src/seat.c +++ b/src/seat.c @@ -10,6 +10,7 @@ input_device_destroy(struct wl_listener *listener, void *data) { struct input *input = wl_container_of(listener, input, destroy); wl_list_remove(&input->link); + wl_list_remove(&input->destroy.link); free(input); } diff --git a/src/xdg.c b/src/xdg.c index e9960bc0..71211b65 100644 --- a/src/xdg.c +++ b/src/xdg.c @@ -97,6 +97,7 @@ handle_destroy(struct wl_listener *listener, void *data) } interactive_end(view); wl_list_remove(&view->link); + wl_list_remove(&view->destroy.link); ssd_destroy(view); free(view); }