From 75c85ae7b5aa61e90ecf1bc26731d5deda00b8c9 Mon Sep 17 00:00:00 2001 From: JengHyun Kang Date: Mon, 5 Dec 2016 16:03:14 +0900 Subject: [PATCH] Do not change enable/disable directly when focus window is changed Change-Id: I6832381040591e21b02f526e494bb33c78290bde --- src/e_mod_gesture_events.c | 4 ++-- src/e_mod_main.c | 6 +++--- src/e_mod_main.h | 1 + 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/e_mod_gesture_events.c b/src/e_mod_gesture_events.c index 6004cf0..e03280d 100644 --- a/src/e_mod_gesture_events.c +++ b/src/e_mod_gesture_events.c @@ -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); } diff --git a/src/e_mod_main.c b/src/e_mod_main.c index e32d6d1..e0c24bf 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -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; diff --git a/src/e_mod_main.h b/src/e_mod_main.h index 7d8e2d3..62b8d21 100644 --- a/src/e_mod_main.h +++ b/src/e_mod_main.h @@ -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; -- 2.7.4