Do not change enable/disable directly when focus window is changed 81/102181/1
authorJengHyun Kang <jhyuni.kang@samsung.com>
Mon, 5 Dec 2016 07:03:14 +0000 (16:03 +0900)
committerJengHyun Kang <jhyuni.kang@samsung.com>
Mon, 5 Dec 2016 07:03:14 +0000 (16:03 +0900)
Change-Id: I6832381040591e21b02f526e494bb33c78290bde

src/e_mod_gesture_events.c
src/e_mod_main.c
src/e_mod_main.h

index 6004cf0..e03280d 100644 (file)
@@ -346,11 +346,11 @@ _e_gesture_process_mouse_button_up(void *event)
         if (gesture->gesture_events.num_pressed == 0)
           {
              gesture->gesture_events.recognized_gesture = 0x0;
-             if (gesture->enable)
+             if (!gesture->enable && gesture->enabled_window)
                {
                   e_gesture_event_filter_enable(EINA_TRUE);
                }
-             else
+             else if (gesture->enable && !gesture->enabled_window)
                {
                   e_gesture_event_filter_enable(EINA_FALSE);
                }
index e32d6d1..e0c24bf 100644 (file)
@@ -331,17 +331,17 @@ _e_gesture_cb_client_focus_in(void *data, int type, void *event)
    if (ec->gesture_disable && gesture->enable)
      {
         GTINF("Gesture disabled window\n");
-        gesture->enable = EINA_FALSE;
+        gesture->enabled_window = EINA_FALSE;
      }
    else if (!ec->gesture_disable && !gesture->enable)
      {
         GTINF("Gesture enabled window\n");
-        gesture->enable = EINA_TRUE;
+        gesture->enabled_window = EINA_TRUE;
      }
 
    if (gesture->gesture_events.num_pressed == 0)
      {
-        e_gesture_event_filter_enable(gesture->enable);
+        e_gesture_event_filter_enable(gesture->enabled_window);
      }
 
    return ECORE_CALLBACK_PASS_ON;
index 7d8e2d3..62b8d21 100644 (file)
@@ -133,6 +133,7 @@ struct _E_Gesture
    struct wl_global *global;
    E_Gesture_Config_Data *config;
    Eina_Bool enable;
+   Eina_Bool enabled_window;
 
    Ecore_Event_Filter *ef_handler;
    Eina_List *handlers;