diff options
author | Huang Peng <shawn.p.huang@gmail.com> | 2008-09-16 16:21:48 +0800 |
---|---|---|
committer | Huang Peng <shawn.p.huang@gmail.com> | 2008-09-16 16:21:48 +0800 |
commit | 2440d29dc75cf21a0a21fe7f2ad36a345941d917 (patch) | |
tree | 56277428704e271ad1305ec83437a2d3edc7bda9 /client | |
parent | d07849ff3ef4cfd8ee59eb7a01bdcb6173e788f0 (diff) | |
download | ibus-2440d29dc75cf21a0a21fe7f2ad36a345941d917.tar.gz ibus-2440d29dc75cf21a0a21fe7f2ad36a345941d917.tar.xz ibus-2440d29dc75cf21a0a21fe7f2ad36a345941d917.zip |
Fix mem leak.
Diffstat (limited to 'client')
-rw-r--r-- | client/x11/gdk-private.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/client/x11/gdk-private.c b/client/x11/gdk-private.c index 4108708..83a49ed 100644 --- a/client/x11/gdk-private.c +++ b/client/x11/gdk-private.c @@ -40,11 +40,13 @@ translate_key_event (GdkDisplay *display, event->key.time = xevent->xkey.time; event->key.state = (GdkModifierType) xevent->xkey.state; + #ifdef HAVE_XKB event->key.group = XkbGroupForCoreState (xevent->xkey.state); #else event->key.group = 0; #endif + event->key.hardware_keycode = xevent->xkey.keycode; event->key.keyval = GDK_VoidSymbol; @@ -56,16 +58,19 @@ translate_key_event (GdkDisplay *display, &event->key.keyval, NULL, NULL, NULL); - //_gdk_keymap_add_virtual_modifiers (keymap, &event->key.state); - event->key.is_modifier = - (event->key.state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK)) != 0; -// event->key.is_modifier = _gdk_keymap_key_is_modifier (keymap, event->key.hardware_keycode); + // _gdk_keymap_add_virtual_modifiers (keymap, &event->key.state); + // event->key.is_modifier = _gdk_keymap_key_is_modifier (keymap, event->key.hardware_keycode); + event->key.is_modifier = 0; /* Fill in event->string crudely, since various programs * depend on it. */ event->key.string = NULL; + event->key.length = 0; + /* Don't need event->string. + */ +#if 0 if (event->key.keyval != GDK_VoidSymbol) c = gdk_keyval_to_unicode (event->key.keyval); @@ -117,7 +122,7 @@ translate_key_event (GdkDisplay *display, event->key.length = 0; event->key.string = g_strdup (""); } - +#endif out: return; } |