diff options
author | David Herrmann <dh.herrmann@gmail.com> | 2014-08-28 12:21:33 +0200 |
---|---|---|
committer | David Herrmann <dh.herrmann@gmail.com> | 2014-08-28 12:45:51 +0200 |
commit | 200716a628b70fe723e7d4e09bb2ece10c10bdc0 (patch) | |
tree | c346d08f253d32ba00289374e1688a6e1ec76414 /src/libsystemd-terminal/idev-keyboard.c | |
parent | 3125b3ef5db70d45882c7d6f617705802c5f939e (diff) |
terminal: free xkb state on keyboard destruction
Fix leaking the xkb-state during keyboard destruction, leaking lots of xkb
references into the wild.
Diffstat (limited to 'src/libsystemd-terminal/idev-keyboard.c')
-rw-r--r-- | src/libsystemd-terminal/idev-keyboard.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libsystemd-terminal/idev-keyboard.c b/src/libsystemd-terminal/idev-keyboard.c index 7ab4db2cf7..03f54bb74f 100644 --- a/src/libsystemd-terminal/idev-keyboard.c +++ b/src/libsystemd-terminal/idev-keyboard.c @@ -550,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); |