ecore-imf - fix broken state on non-x11 environments

this fixes ecore-imf to auto-pick scim or wayland vased in DISPLAY and
WALAND_DISPLAY env vars. it's not a perfect/good/correct fix. it
should be picking based on canvas engine type, but that is a far more
invasive effort, so for release, do this simple one that brings back
wayland input panel and keeps x11 input methods going as long as app
is either x11 (DISPLAY) or wayland (WAYLAND_DISPLAY). if both are set,
it'll get it wrong. as i said - that's a more invasive fix.
This commit is contained in:
Carsten Haitzler 2014-08-11 08:43:52 +09:00
parent f796679af6
commit 81d6713324
1 changed files with 7 additions and 0 deletions

View File

@ -71,6 +71,13 @@ ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type)
if (strcmp(id, "none") == 0) return NULL;
if (ecore_imf_module_get(id)) return id;
}
else
{
if (getenv("DISPLAY")) id = "scim";
else if (getenv("WAYLAND_DISPLAY")) id = "wayland";
if (ecore_imf_module_get(id)) return id;
return NULL;
}
modules = ecore_imf_module_available_get();
if (!modules) return NULL;