diff --git a/seat.c b/seat.c index 7567586..ae8e52f 100644 --- a/seat.c +++ b/seat.c @@ -794,6 +794,7 @@ handle_destroy(struct wl_listener *listener, void *_data) { struct cg_keyboard_group *group, *group_tmp; wl_list_for_each_safe(group, group_tmp, &seat->keyboard_groups, link) { + wl_list_remove(&group->link); wlr_keyboard_group_destroy(group->wlr_group); wl_event_source_remove(group->key_repeat_timer); free(group);