chiark / gitweb /
terminal: free xkb state on keyboard destruction
[elogind.git] / src / libsystemd-terminal / idev-keyboard.c
index 647aade9326a990d2d88b0cc0e868f4e7d79cf11..03f54bb74f32c6ad94432c2a19666157dfd47e2b 100644 (file)
@@ -312,7 +312,6 @@ static int kbdctx_locale_props_changed_fn(sd_bus *bus,
                                           sd_bus_message *signal,
                                           void *userdata,
                                           sd_bus_error *ret_err) {
-        _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
         kbdctx *kc = userdata;
         int r;
 
@@ -551,6 +550,7 @@ int idev_keyboard_new(idev_device **out, idev_session *s, const char *name) {
 static void keyboard_free(idev_device *d) {
         idev_keyboard *k = keyboard_from_device(d);
 
+        xkb_state_unref(k->xkb_state);
         free(k->repdata.keyboard.codepoints);
         free(k->repdata.keyboard.keysyms);
         free(k->evdata.keyboard.codepoints);