diff options
Diffstat (limited to 'src/lib/ecore_imf/ecore_imf_module.c')
-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) | |||
132 | } | 132 | } |
133 | else | 133 | else |
134 | { | 134 | { |
135 | Eina_Module *m; | 135 | snprintf(buf, sizeof(buf), "%s/ecore_imf/modules", eina_prefix_lib_get(pfx)); |
136 | const char **itr; | 136 | module_list = eina_module_arch_list_get(module_list, buf, MODULE_ARCH); |
137 | |||
138 | for (itr = built_modules; *itr != NULL; itr++) | ||
139 | { | ||
140 | snprintf(buf, sizeof(buf), | ||
141 | "%s/ecore_imf/modules/%s/%s/module" SHARED_LIB_SUFFIX, | ||
142 | eina_prefix_lib_get(pfx), *itr, MODULE_ARCH); | ||
143 | |||
144 | m = eina_module_new(buf); | ||
145 | if (m) | ||
146 | { | ||
147 | module_list = eina_array_new(1); | ||
148 | if (module_list) | ||
149 | { | ||
150 | eina_array_push(module_list, m); | ||
151 | break; | ||
152 | } | ||
153 | else | ||
154 | eina_module_free(m); | ||
155 | } | ||
156 | } | ||
157 | } | 137 | } |
158 | 138 | ||
159 | if (module_list) eina_module_list_load(module_list); | 139 | // XXX: MODFIX: do not list ALL modules and load them ALL! this is |
140 | // is wrong - we end up loading BOTH xim ANd scim (and maybe uim too) | ||
141 | // etc. etc. when we need only 1! | ||
142 | eina_module_list_load(module_list); | ||
160 | } | 143 | } |
161 | 144 | ||
162 | void | 145 | void |