Merge branch 'refactor-key-bindings'

This commit is contained in:
Daniel Eklöf 2021-02-08 18:57:17 +01:00
commit 79e054faff
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
7 changed files with 145 additions and 331 deletions

View file

@ -132,6 +132,15 @@ seat_add_text_input(struct seat *seat)
#endif
}
static void
key_bindings_destroy(key_binding_list_t *bindings)
{
tll_foreach(*bindings, it) {
tll_free(it->item.key_codes);
tll_remove(*bindings, it);
}
}
static void
seat_destroy(struct seat *seat)
{
@ -140,17 +149,9 @@ seat_destroy(struct seat *seat)
tll_free(seat->mouse.buttons);
tll_foreach(seat->kbd.bindings.key, it)
tll_free(it->item.bind.key_codes);
tll_free(seat->kbd.bindings.key);
tll_foreach(seat->kbd.bindings.search, it)
tll_free(it->item.bind.key_codes);
tll_free(seat->kbd.bindings.search);
tll_foreach(seat->kbd.bindings.url, it)
tll_free(it->item.bind.key_codes);
tll_free(seat->kbd.bindings.url);
key_bindings_destroy(&seat->kbd.bindings.key);
key_bindings_destroy(&seat->kbd.bindings.search);
key_bindings_destroy(&seat->kbd.bindings.url);
tll_free(seat->mouse.bindings);