summaryrefslogtreecommitdiff
path: root/gtk/gtkimmulticontext.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkimmulticontext.c')
-rw-r--r--gtk/gtkimmulticontext.c13
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);
+ }
}
/**