Commit a4058d5739fbb0ec12a1db4d4d1941518786554d Parent: 1c3699540311da35aee7aa66fe94df2e4dd004b7 Author: mcol <mcol@posteo.net> Date: 2021-02-06 20:42:59 +0000 Committer: mcol <mcol@posteo.net> Committed: 2021-02-06 20:42:59 +0000 don't free keyboards twice
src/main.c Modified
@@ -120,14 +120,6 @@ free(output); }; - struct keyboard *keyboard, *tkeyboard; - wl_list_for_each_safe(keyboard, tkeyboard, &wimp.keyboards, link) { - wl_list_remove(&keyboard->link); - wl_list_remove(&keyboard->modifier_listener.link); - wl_list_remove(&keyboard->key_listener.link); - free(keyboard); - }; - struct mark *mark, *tmark; wl_list_for_each_safe(mark, tmark, &wimp.marks, link) { wl_list_remove(&mark->link);
src/keyboard.c Modified
@@ -114,8 +114,10 @@ wl_list_remove(&keyboard->destroy_listener.link); free(keyboard); - keyboard = wl_container_of(wimp.keyboards.next, keyboard, link); - wlr_seat_set_keyboard(wimp.seat, keyboard->device); + if (!wl_list_empty(&wimp.keyboards)) { + keyboard = wl_container_of(wimp.keyboards.next, keyboard, link); + wlr_seat_set_keyboard(wimp.seat, keyboard->device); + } }