diff options
Diffstat (limited to 'gtk/queryimmodules.c')
-rw-r--r-- | gtk/queryimmodules.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/gtk/queryimmodules.c b/gtk/queryimmodules.c index 6b87002e33..5369c7f9bd 100644 --- a/gtk/queryimmodules.c +++ b/gtk/queryimmodules.c @@ -94,6 +94,11 @@ query_module (const char *dir, const char *name) void (*exit) (void); GtkIMContext *(*create) (const gchar *context_id); + gpointer list_ptr; + gpointer init_ptr; + gpointer exit_ptr; + gpointer create_ptr; + GModule *module; gchar *path; gboolean error = FALSE; @@ -112,15 +117,20 @@ query_module (const char *dir, const char *name) } if (module && - g_module_symbol (module, "im_module_list", (gpointer *) &list) && - g_module_symbol (module, "im_module_init", (gpointer *) &init) && - g_module_symbol (module, "im_module_exit", (gpointer *) &exit) && - g_module_symbol (module, "im_module_create", (gpointer *) &create)) + g_module_symbol (module, "im_module_list", &list_ptr) && + g_module_symbol (module, "im_module_init", &init_ptr) && + g_module_symbol (module, "im_module_exit", &exit_ptr) && + g_module_symbol (module, "im_module_create", &create_ptr)) { const GtkIMContextInfo **contexts; guint n_contexts; int i; + list = list_ptr; + init = init_ptr; + exit = exit_ptr; + create = create_ptr; + print_escaped (path); fputs ("\n", stdout); |