diff --git a/eek/eek-keyboard.c b/eek/eek-keyboard.c index 40e86fcc..ee750abb 100644 --- a/eek/eek-keyboard.c +++ b/eek/eek-keyboard.c @@ -39,6 +39,8 @@ #include "eek-keyboard.h" void level_keyboard_deinit(LevelKeyboard *self) { + xkb_keymap_unref(self->keymap); + close(self->keymap_fd); squeek_layout_free(self->layout); } diff --git a/eek/eek-keyboard.h b/eek/eek-keyboard.h index 60dbf3f3..05bf5330 100644 --- a/eek/eek-keyboard.h +++ b/eek/eek-keyboard.h @@ -36,7 +36,7 @@ G_BEGIN_DECLS /// Keyboard state holder struct _LevelKeyboard { struct squeek_layout *layout; // owned - struct xkb_keymap *keymap; + struct xkb_keymap *keymap; // owned int keymap_fd; // keymap formatted as XKB string size_t keymap_len; // length of the data inside keymap_fd