ecore-imf: do ecore-x init during ctx creation instead of module init

this avoids a number of issues with efl under wayland, msot notably the
automatic triggering of xwayland during every app startup

@fix
This commit is contained in:
Mike Blumenkrantz 2018-02-07 12:09:35 -05:00
parent 9cf61c2f6d
commit 49e47ac310
1 changed files with 6 additions and 9 deletions

View File

@ -739,7 +739,11 @@ static Ecore_IMF_Context_Class xim_class = {
static Ecore_IMF_Context *
xim_imf_module_create(void)
{
Ecore_IMF_Context *ctx = ecore_imf_context_new(&xim_class);
Ecore_IMF_Context *ctx;
if (!ecore_x_init(NULL))
return NULL;
ctx = ecore_imf_context_new(&xim_class);
DBG("ctx=%p", ctx);
return ctx;
}
@ -747,6 +751,7 @@ xim_imf_module_create(void)
static Ecore_IMF_Context *
xim_imf_module_exit(void)
{
ecore_x_shutdown();
DBG(" ");
return NULL;
}
@ -771,12 +776,6 @@ _ecore_imf_xim_init(void)
DBG(" ");
if (!ecore_x_init(NULL))
{
eina_shutdown();
return EINA_FALSE;
}
ecore_imf_module_register(&xim_info,
xim_imf_module_create,
xim_imf_module_exit);
@ -795,8 +794,6 @@ _ecore_imf_xim_shutdown(void)
_ecore_imf_xim_info_im_shutdown(display, EINA_FALSE, info);
}
ecore_x_shutdown();
if (_ecore_imf_xim_log_dom >= 0)
{
eina_log_domain_unregister(_ecore_imf_xim_log_dom);