From 9eea724e3b5eeb3d5d483b5a0c30d4b70a448741 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Fri, 30 Nov 2012 15:06:48 +0100 Subject: [PATCH] gtk: convert keyvals to unicode before committing to the imcontext (cherry picked from commit 1eb0d98d734d96a6612e320d32a2aded423d2746) --- gtk/gtkimcontextsimple.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c index 1ffb42f60b..87debf226b 100644 --- a/gtk/gtkimcontextsimple.c +++ b/gtk/gtkimcontextsimple.c @@ -371,7 +371,7 @@ check_quartz_special_cases (GtkIMContextSimple *context_simple, gint n_compose) { GtkIMContextSimplePrivate *priv = context_simple->priv; - gunichar value = 0; + guint value = 0; if (n_compose == 2) { @@ -382,7 +382,7 @@ check_quartz_special_cases (GtkIMContextSimple *context_simple, { case GDK_KEY_dead_doubleacute: case GDK_KEY_space: - value = '"'; break; + value = GDK_KEY_quotedbl; break; case 'a': value = GDK_KEY_adiaeresis; break; case 'A': value = GDK_KEY_Adiaeresis; break; @@ -395,7 +395,7 @@ check_quartz_special_cases (GtkIMContextSimple *context_simple, case 'u': value = GDK_KEY_udiaeresis; break; case 'U': value = GDK_KEY_Udiaeresis; break; case 'y': value = GDK_KEY_ydiaeresis; break; - case 'Y': value = 0x0178; break; /* should be GDK_KEY_Ydiaeresis ?? */ + case 'Y': value = GDK_KEY_Ydiaeresis; break; } break; @@ -411,7 +411,8 @@ check_quartz_special_cases (GtkIMContextSimple *context_simple, if (value > 0) { - gtk_im_context_simple_commit_char (GTK_IM_CONTEXT (context_simple), value); + gtk_im_context_simple_commit_char (GTK_IM_CONTEXT (context_simple), + gdk_keyval_to_unicode (value)); priv->compose_buffer[0] = 0; GTK_NOTE (MISC, g_print ("quartz: U+%04X\n", value));