diff options
-rw-r--r-- | src/lib/ecore_imf/ecore_imf_module.c | 29 |
1 files changed, 6 insertions, 23 deletions
diff --git a/src/lib/ecore_imf/ecore_imf_module.c b/src/lib/ecore_imf/ecore_imf_module.c index 3fec5de1d6..7ec902a233 100644 --- a/src/lib/ecore_imf/ecore_imf_module.c +++ b/src/lib/ecore_imf/ecore_imf_module.c @@ -132,31 +132,14 @@ ecore_imf_module_init(void) } else { - Eina_Module *m; - const char **itr; - - for (itr = built_modules; *itr != NULL; itr++) - { - snprintf(buf, sizeof(buf), - "%s/ecore_imf/modules/%s/%s/module" SHARED_LIB_SUFFIX, - eina_prefix_lib_get(pfx), *itr, MODULE_ARCH); - - m = eina_module_new(buf); - if (m) - { - module_list = eina_array_new(1); - if (module_list) - { - eina_array_push(module_list, m); - break; - } - else - eina_module_free(m); - } - } + snprintf(buf, sizeof(buf), "%s/ecore_imf/modules", eina_prefix_lib_get(pfx)); + module_list = eina_module_arch_list_get(module_list, buf, MODULE_ARCH); } - if (module_list) eina_module_list_load(module_list); + // XXX: MODFIX: do not list ALL modules and load them ALL! this is + // is wrong - we end up loading BOTH xim ANd scim (and maybe uim too) + // etc. etc. when we need only 1! + eina_module_list_load(module_list); } void |