summaryrefslogtreecommitdiff
path: root/gtk/gtkimmodule.c
diff options
context:
space:
mode:
authorChangwoo Ryu <cwryu@debian.org>2013-02-13 02:44:00 +0000
committerChangwoo Ryu <cwryu@debian.org>2013-02-16 10:04:47 +0900
commit658e7c45353d625dc30852f49fb92a1959f615fa (patch)
treedc7bd692bd12e207c246bec2d11ca7257787ff88 /gtk/gtkimmodule.c
parent0fe08d43b51def30d4ef5ffdb36ed991af8f87d5 (diff)
downloadgtk+-658e7c45353d625dc30852f49fb92a1959f615fa.tar.gz
immodule: Fix context ID lookup on module with multiple contexts
https://bugzilla.gnome.org/show_bug.cgi?id=690247
Diffstat (limited to 'gtk/gtkimmodule.c')
-rw-r--r--gtk/gtkimmodule.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/gtk/gtkimmodule.c b/gtk/gtkimmodule.c
index 0f45847c61..5e35498a22 100644
--- a/gtk/gtkimmodule.c
+++ b/gtk/gtkimmodule.c
@@ -646,12 +646,14 @@ lookup_immodule (gchar **immodules_list)
if (g_strcmp0 (*immodules_list, SIMPLE_ID) == 0)
return SIMPLE_ID;
else
- {
- GtkIMModule *module;
- module = g_hash_table_lookup (contexts_hash, *immodules_list);
- if (module)
- return module->contexts[0]->context_id;
- }
+ {
+ gboolean found;
+ gchar *context_id;
+ found = g_hash_table_lookup_extended (contexts_hash, *immodules_list,
+ &context_id, NULL);
+ if (found)
+ return context_id;
+ }
immodules_list++;
}