summaryrefslogtreecommitdiffstats
path: root/ui/base/keycodes/keyboard_code_conversion_gtk.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ui/base/keycodes/keyboard_code_conversion_gtk.cc')
-rw-r--r--ui/base/keycodes/keyboard_code_conversion_gtk.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/ui/base/keycodes/keyboard_code_conversion_gtk.cc b/ui/base/keycodes/keyboard_code_conversion_gtk.cc
index c55476a..0eff5aa 100644
--- a/ui/base/keycodes/keyboard_code_conversion_gtk.cc
+++ b/ui/base/keycodes/keyboard_code_conversion_gtk.cc
@@ -625,9 +625,14 @@ int GdkNativeKeyCodeForWindowsKeyCode(KeyboardCode keycode, bool shift) {
int keyval = GdkKeyCodeForWindowsKeyCode(keycode, shift);
GdkKeymapKey* keys;
gint n_keys;
- if (keyval && gdk_keymap_get_entries_for_keyval(0, keyval, &keys, &n_keys))
- return keys[0].keycode;
- return 0;
+
+ int native_keycode = 0;
+ if (keyval && gdk_keymap_get_entries_for_keyval(0, keyval, &keys, &n_keys)) {
+ native_keycode = keys[0].keycode;
+ g_free(keys);
+ }
+
+ return native_keycode;
}
KeyboardCode KeyboardCodeFromGdkEventKey(GdkEventKey* event) {