discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1b0690dd9a9e58365601ba6aeda4988998647b1c
commit 1b0690dd9a9e58365601ba6aeda4988998647b1c Author: Hannes Janetzek <hannes.janet...@gmail.com> Date: Thu Dec 15 05:18:39 2016 +0100 ecore-x: fix Mode_switch key mapping - remove redundant XKeysymToString when sym == sym2 @fix --- src/lib/ecore_x/ecore_x_events.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/lib/ecore_x/ecore_x_events.c b/src/lib/ecore_x/ecore_x_events.c index 0049fca..b19d60a 100644 --- a/src/lib/ecore_x/ecore_x_events.c +++ b/src/lib/ecore_x/ecore_x_events.c @@ -344,7 +344,7 @@ _ecore_key_press(int event, char *compose = NULL; char *tmp = NULL; char *keyname; - char *key; + char *key = NULL; char keyname_buffer[256]; char compose_buffer[256]; KeySym sym, sym2 = 0; @@ -372,6 +372,12 @@ _ecore_key_press(int event, sizeof(compose_buffer), &sym2, &status); + + if (sym != sym2) + key = XKeysymToString(sym2); + if (!key) + key = keyname; + if (val > 0) { compose_buffer[val] = 0; @@ -381,13 +387,8 @@ _ecore_key_press(int event, ERR("Ecore_X cannot convert input key string '%s' to UTF-8. " "Is Eina built with iconv support?", compose_buffer); tmp = compose; - sym = sym2; } - key = XKeysymToString(sym); - if (!key) - key = keyname; - key_len = strlen(key); keyname_len = strlen(keyname); compose_len = (compose) ? strlen(compose) : 0; --