summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authornoel@chromium.org <noel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-30 04:14:36 +0000
committernoel@chromium.org <noel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-30 04:14:36 +0000
commit63833051aaebbd3a68395131a8c36fc98ed0524b (patch)
tree2bbe5cbd13aa752cc62ac25f5b471ac65ac47fc9 /ui
parent172205b81364c73f16384261318ba3bc506b9922 (diff)
downloadchromium_src-63833051aaebbd3a68395131a8c36fc98ed0524b.zip
chromium_src-63833051aaebbd3a68395131a8c36fc98ed0524b.tar.gz
chromium_src-63833051aaebbd3a68395131a8c36fc98ed0524b.tar.bz2
Followup http://codereview.chromium.org/7740048: g_free() the keys map
object (GdkKeymapKey*) returned by gdk_keymap_get_entries_for_keyval(). BUG=94211 TEST=webkit LayoutTests/plugins/keyboard-events.html Review URL: http://codereview.chromium.org/7777006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98771 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-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) {