summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--ui/gtk.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ui/gtk.c b/ui/gtk.c
index 2345d7e3a3..cdd2567fa0 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -1810,6 +1810,13 @@ static void gd_set_keycode_type(GtkDisplayState *s)
             fprintf(stderr, "unknown keycodes `%s', please report to "
                     "qemu-devel@nongnu.org\n", keycodes);
         }
+
+        if (desc) {
+            XkbFreeKeyboard(desc, XkbGBN_AllComponentsMask, True);
+        }
+        if (keycodes) {
+            XFree(keycodes);
+        }
     }
 #endif
 }