jypark pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=b4575e7bd21d190b691b16c61193b3cbdfc5f3e5

commit b4575e7bd21d190b691b16c61193b3cbdfc5f3e5
Author: Ji-Youn Park <jy0703.p...@samsung.com>
Date:   Fri Jun 12 11:16:25 2015 +0900

    elm_win: fix keygrab bug to use wrong keygrab mode
    
    The code set worng ecore_x_keygrab mode according keygrab mode.
    and changed some codes for readablity.
---
 src/lib/elm_win.c | 35 +++++++++++++++++++++--------------
 1 file changed, 21 insertions(+), 14 deletions(-)

diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index b63b2b1..d81226f 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -5044,19 +5044,28 @@ _elm_win_keygrab_set(Eo *obj EINA_UNUSED, Elm_Win_Data 
*sd, const char *key, Eva
    _internal_elm_win_xwindow_get(sd);
    if (sd->x.xwin)
      {
-        if (grab_mode == ELM_WIN_KEYGRAB_SHARED)
-          ret = ecore_x_window_keygrab_set(sd->x.xwin, key, 0, 0, 0, 
ECORE_X_WIN_KEYGRAB_SHARED);
-        else if (grab_mode == ELM_WIN_KEYGRAB_TOPMOST)
-          ret = ecore_x_window_keygrab_set(sd->x.xwin, key, 0, 0, 0, 
ECORE_X_WIN_KEYGRAB_TOPMOST);
-        else if (grab_mode == ELM_WIN_KEYGRAB_EXCLUSIVE)
-          ret = ecore_x_window_keygrab_set(sd->x.xwin, key, 0, 0, 0, 
ECORE_X_WIN_KEYGRAB_EXCLUSIVE);
-        else if (grab_mode == ELM_WIN_KEYGRAB_OVERRIDE_EXCLUSIVE)
-          ret = ecore_x_window_keygrab_set(sd->x.xwin, key, 0, 0, 0, 
ECORE_X_WIN_KEYGRAB_EXCLUSIVE);
+        Ecore_X_Win_Keygrab_Mode x_grab_mode;
+        switch (grab_mode)
+          {
+           case ELM_WIN_KEYGRAB_SHARED:
+             x_grab_mode = ECORE_X_WIN_KEYGRAB_SHARED;
+             break;
+           case ELM_WIN_KEYGRAB_TOPMOST:
+             x_grab_mode = ECORE_X_WIN_KEYGRAB_TOPMOST;
+             break;
+           case ELM_WIN_KEYGRAB_EXCLUSIVE:
+             x_grab_mode = ECORE_X_WIN_KEYGRAB_EXCLUSIVE;
+             break;
+           case ELM_WIN_KEYGRAB_OVERRIDE_EXCLUSIVE:
+             x_grab_mode = ECORE_X_WIN_KEYGRAB_OVERRIDE_EXCLUSIVE;
+             break;
+           default:
+             return ret;
+          }
+         ret = ecore_x_window_keygrab_set(sd->x.xwin, key, 0, 0, 0, 
x_grab_mode);
      }
-   return ret;
-#else
-   return ret;
 #endif
+   return ret;
 }
 
 EOLIAN static Eina_Bool
@@ -5067,10 +5076,8 @@ _elm_win_keygrab_unset(Eo *obj EINA_UNUSED, Elm_Win_Data 
*sd, const char *key, E
    _internal_elm_win_xwindow_get(sd);
    if (sd->x.xwin)
      ret = ecore_x_window_keygrab_unset(sd->x.xwin, key, 0, 0);
-   return ret;
-#else
-   return ret;
 #endif
+   return ret;
 }
 
 EOLIAN static Evas_Object*

-- 


Reply via email to