diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c index a68886f9a9..68f7578363 100644 --- a/gtk/gtkimcontextsimple.c +++ b/gtk/gtkimcontextsimple.c @@ -746,7 +746,7 @@ no_sequence_matches (GtkIMContextSimple *context_simple, } ch = gdk_keyval_to_unicode (event->keyval); - if (ch != 0) + if (ch != 0 && !g_unichar_iscntrl (ch)) { gtk_im_context_simple_commit_char (context, ch); return TRUE; diff --git a/gtk/gtkimmulticontext.c b/gtk/gtkimmulticontext.c index f2454fcb4a..ea471a8aaf 100644 --- a/gtk/gtkimmulticontext.c +++ b/gtk/gtkimmulticontext.c @@ -355,7 +355,7 @@ gtk_im_multicontext_filter_keypress (GtkIMContext *context, gunichar ch; ch = gdk_keyval_to_unicode (event->keyval); - if (ch != 0) + if (ch != 0 && !g_unichar_iscntrl (ch)) { gint len; gchar buf[10];