diff options
Diffstat (limited to 'gtk/gtkimmulticontext.c')
-rw-r--r-- | gtk/gtkimmulticontext.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/gtk/gtkimmulticontext.c b/gtk/gtkimmulticontext.c index 186dc503f6..b1c2ad87f4 100644 --- a/gtk/gtkimmulticontext.c +++ b/gtk/gtkimmulticontext.c @@ -313,12 +313,15 @@ static void activate_cb (GtkWidget *menuitem, GtkIMMulticontext *context) { - const gchar *id = gtk_object_get_data (GTK_OBJECT (menuitem), "gtk-context-id"); - - gtk_im_context_reset (GTK_IM_CONTEXT (context)); + if (GTK_CHECK_MENU_ITEM (menuitem)->active) + { + const gchar *id = gtk_object_get_data (GTK_OBJECT (menuitem), "gtk-context-id"); - global_context_id = id; - gtk_im_multicontext_set_slave (context, NULL); + gtk_im_context_reset (GTK_IM_CONTEXT (context)); + + global_context_id = id; + gtk_im_multicontext_set_slave (context, NULL); + } } /** |