input/keyboard: remove group listeners on destroy

This adds two missing calls to wl_list_remove to remove the key and
modifier listeners for the keyboard group's keyboard when destroying
the keyboard group. This fixes some crashes when changing the keymap of
the last keyboard in a group with a keyboard binding.
master
Brian Ashworth 5 years ago committed by Simon Ser
parent 2f84d6e349
commit f365ffef34

@ -675,6 +675,8 @@ static void sway_keyboard_group_remove(struct sway_keyboard *keyboard) {
struct sway_keyboard_group *sway_group = wlr_group->data;
wlr_group->data = NULL;
wl_list_remove(&sway_group->link);
wl_list_remove(&sway_group->keyboard_key.link);
wl_list_remove(&sway_group->keyboard_modifiers.link);
sway_keyboard_destroy(sway_group->seat_device->keyboard);
free(sway_group->seat_device->input_device);
free(sway_group->seat_device);

Loading…
Cancel
Save