summaryrefslogtreecommitdiff
path: root/src/lib/ecore_imf
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2017-02-27 13:26:11 -0500
committerChris Michael <cp.michael@samsung.com>2017-02-27 13:31:50 -0500
commitcd1f98624478297241389b6a96d9349ca7c7ab3a (patch)
tree674c79a9da156e490477d23f671bd8127d1fc488 /src/lib/ecore_imf
parent5c858b86e5c84d4ced77d47bb61cc6817f0e3645 (diff)
Revert "Revert "ecore-imf: Don't always load all modules""
Reverting the revert here...this Does actually work in a wayland environment, however you may need to export ELM_DISPLAY=wl in order to get the desired result... NB: If you desire a specific ecore_imf module then you may want to export ECORE_IMF_MODULE=xyz, else this patch will try to load them in the order specified in the code (xim, ibus, scim, wayland). This reverts commit 5c858b86e5c84d4ced77d47bb61cc6817f0e3645.
Diffstat (limited to 'src/lib/ecore_imf')
-rw-r--r--src/lib/ecore_imf/ecore_imf_module.c29
1 files changed, 23 insertions, 6 deletions
diff --git a/src/lib/ecore_imf/ecore_imf_module.c b/src/lib/ecore_imf/ecore_imf_module.c
index 7ec902a..3fec5de 100644
--- a/src/lib/ecore_imf/ecore_imf_module.c
+++ b/src/lib/ecore_imf/ecore_imf_module.c
@@ -132,14 +132,31 @@ ecore_imf_module_init(void)
132 } 132 }
133 else 133 else
134 { 134 {
135 snprintf(buf, sizeof(buf), "%s/ecore_imf/modules", eina_prefix_lib_get(pfx)); 135 Eina_Module *m;
136 module_list = eina_module_arch_list_get(module_list, buf, MODULE_ARCH); 136 const char **itr;
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 }
137 } 157 }
138 158
139 // XXX: MODFIX: do not list ALL modules and load them ALL! this is 159 if (module_list) eina_module_list_load(module_list);
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);
143} 160}
144 161
145void 162void