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;

-- 


Reply via email to