fix bug: gesture is deactivated when focus is changed. 00/208700/1
authorjeon <jhyuni.kang@samsung.com>
Thu, 27 Jun 2019 07:03:39 +0000 (16:03 +0900)
committerjeon <jhyuni.kang@samsung.com>
Thu, 27 Jun 2019 07:03:39 +0000 (16:03 +0900)
Change-Id: I4b5fc3a36f9bda135518818b09baabee320e217f

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

index 93d7658..ba5da51 100644 (file)
@@ -485,7 +485,11 @@ _e_gesture_process_edge_swipe_down(Ecore_Event_Mouse_Button *ev)
    int i;
    unsigned int idx = ev->multi.device+1;
 
-   if (!edge_swipes->base.activation.active) return;
+   if (!edge_swipes->base.activation.active)
+     {
+        _e_gesture_edge_swipe_cancel();
+        return;
+     }
 
    if (gesture->gesture_events.recognized_gesture)
      _e_gesture_edge_swipe_cancel();
@@ -548,7 +552,11 @@ _e_gesture_process_edge_swipe_move(Ecore_Event_Mouse_Move *ev)
    Coords diff;
    unsigned int idx = ev->multi.device+1;
 
-   if (!edge_swipes->base.activation.active) return;
+   if (!edge_swipes->base.activation.active)
+     {
+        _e_gesture_edge_swipe_cancel();
+        return;
+     }
 
    if (!(edge_swipes->base.enabled_finger & (1 << idx)))
      return;
@@ -621,7 +629,11 @@ _e_gesture_process_edge_swipe_up(Ecore_Event_Mouse_Button *ev)
 {
    E_Gesture_Event_Edge_Swipe *edge_swipes = &gesture->gesture_events.edge_swipes;
 
-   if (!edge_swipes->base.activation.active) return;
+   if (!edge_swipes->base.activation.active)
+     {
+        _e_gesture_edge_swipe_cancel();
+        return;
+     }
    _e_gesture_edge_swipe_cancel();
    if (gesture->gesture_events.event_keep)
      _e_gesture_event_flush();
@@ -759,7 +771,11 @@ _e_gesture_process_edge_drag_down(Ecore_Event_Mouse_Button *ev)
    int i;
    unsigned int idx = ev->multi.device+1;
 
-   if (!edge_drags->base.activation.active) return;
+   if (!edge_drags->base.activation.active)
+     {
+        _e_gesture_edge_drag_cancel();
+        return;
+     }
 
    if (gesture->gesture_events.recognized_gesture)
      _e_gesture_edge_drag_cancel();
@@ -822,7 +838,11 @@ _e_gesture_process_edge_drag_move(Ecore_Event_Mouse_Move *ev)
    Coords current_point = {0, };
    unsigned int idx = ev->multi.device+1;
 
-   if (!edge_drags->base.activation.active) return;
+   if (!edge_drags->base.activation.active)
+     {
+        _e_gesture_edge_drag_cancel();
+        return;
+     }
 
    if (!(edge_drags->base.enabled_finger & (1 << idx)))
      return;
@@ -849,7 +869,11 @@ _e_gesture_process_edge_drag_up(Ecore_Event_Mouse_Button *ev)
 {
    E_Gesture_Event_Edge_Drag *edge_drags = &gesture->gesture_events.edge_drags;
 
-   if (!edge_drags->base.activation.active) return;
+   if (!edge_drags->base.activation.active)
+     {
+        _e_gesture_edge_drag_cancel();
+        return;
+     }
    _e_gesture_edge_drag_cancel();
    if (gesture->gesture_events.event_keep)
      _e_gesture_event_flush();
@@ -945,7 +969,11 @@ _e_gesture_process_pan_down(Ecore_Event_Mouse_Button *ev)
 {
    E_Gesture_Event_Pan *pans = &gesture->gesture_events.pans;
 
-   if (!pans->activation.active) return;
+   if (!pans->activation.active)
+     {
+        _e_gesture_pan_cancel();
+        return;
+     }
 
    if (gesture->gesture_events.recognized_gesture &&
        !((gesture->gesture_events.recognized_gesture & E_GESTURE_TYPE_PAN) ||
@@ -967,7 +995,11 @@ _e_gesture_process_pan_move(Ecore_Event_Mouse_Move *ev)
    Coords cur_point = {0,};
    int idx, diff_x, diff_y, mode;
 
-   if (!pans->activation.active) return;
+   if (!pans->activation.active)
+     {
+        _e_gesture_pan_cancel();
+        return;
+     }
 
    if (gesture->gesture_events.recognized_gesture &&
        !((gesture->gesture_events.recognized_gesture & E_GESTURE_TYPE_PAN) ||
@@ -1014,7 +1046,6 @@ _e_gesture_process_pan_up(Ecore_Event_Mouse_Button *ev)
 {
    E_Gesture_Event_Pan *pans = &gesture->gesture_events.pans;
 
-   if (!pans->activation.active) return;
    _e_gesture_pan_cancel();
 }
 
@@ -1102,7 +1133,11 @@ _e_gesture_process_pinch_down(Ecore_Event_Mouse_Button *ev)
 {
    E_Gesture_Event_Pinch *pinch = &gesture->gesture_events.pinchs;
 
-   if (!pinch->activation.active) return;
+   if (!pinch->activation.active)
+     {
+        _e_gesture_pinch_cancel();
+        return;
+     }
 
    if (gesture->gesture_events.recognized_gesture &&
        !((gesture->gesture_events.recognized_gesture & E_GESTURE_TYPE_PAN) ||
@@ -1124,7 +1159,11 @@ _e_gesture_process_pinch_move(Ecore_Event_Mouse_Move *ev)
    int idx, mode, cx = 0, cy = 0;
    double current_distance = 0.0, diff = 0.0, angle = 0.0;
 
-   if (!pinch->activation.active) return;
+   if (!pinch->activation.active)
+     {
+        _e_gesture_pinch_cancel();
+        return;
+     }
 
    if (gesture->gesture_events.recognized_gesture &&
        !((gesture->gesture_events.recognized_gesture & E_GESTURE_TYPE_PAN) ||
@@ -1172,7 +1211,6 @@ _e_gesture_process_pinch_up(Ecore_Event_Mouse_Button *ev)
 {
    E_Gesture_Event_Pinch *pinch = &gesture->gesture_events.pinchs;
 
-   if (!pinch->activation.active) return;
    _e_gesture_pinch_cancel();
 }
 
@@ -1394,7 +1432,11 @@ _e_gesture_process_tap_down(Ecore_Event_Mouse_Button *ev)
 {
    E_Gesture_Event_Tap *taps = &gesture->gesture_events.taps;
 
-   if (!taps->activation.active) return;
+   if (!taps->activation.active)
+     {
+        _e_gesture_tap_cancel();
+        return;
+     }
 
    if (gesture->gesture_events.recognized_gesture)
      _e_gesture_tap_cancel();
@@ -1455,7 +1497,11 @@ _e_gesture_process_tap_move(Ecore_Event_Mouse_Move *ev)
    Rect current_rect = {0, };
    int xx1, yy1, xx2, yy2;
 
-   if (!taps->activation.active) return;
+   if (!taps->activation.active)
+     {
+        _e_gesture_tap_cancel();
+        return;
+     }
 
    if (gesture->gesture_events.recognized_gesture)
      _e_gesture_tap_cancel();
@@ -1482,7 +1528,11 @@ _e_gesture_process_tap_up(Ecore_Event_Mouse_Button *ev)
 {
    E_Gesture_Event_Tap *taps = &gesture->gesture_events.taps;
 
-   if (!taps->activation.active) return;
+   if (!taps->activation.active)
+     {
+        _e_gesture_tap_cancel();
+        return;
+     }
 
    if (gesture->gesture_events.recognized_gesture)
      _e_gesture_tap_cancel();
@@ -1864,38 +1914,6 @@ _e_gesture_process_axis_update(void *event)
    return E_GESTURE_EVENT_STATE_PROPAGATE;
 }
 
-void
-e_gesture_event_deactivate_check(void)
-{
-   if (gesture->gesture_events.num_pressed <= 0) return;
-   if (gesture->gesture_filter == E_GESTURE_TYPE_ALL) return;
-
-   if (!(gesture->gesture_filter & E_GESTURE_TYPE_EDGE_SWIPE) &&
-       gesture->gesture_events.edge_swipes.base.activation.active)
-     {
-        _e_gesture_edge_swipe_cancel();
-     }
-
-   if (!(gesture->gesture_filter & E_GESTURE_TYPE_TAP) &&
-       gesture->gesture_events.taps.activation.active)
-     {
-        _e_gesture_tap_cancel();
-     }
-
-   if (!(gesture->gesture_filter & E_GESTURE_TYPE_PAN) &&
-       gesture->gesture_events.pans.activation.active)
-     {
-        _e_gesture_pan_cancel();
-     }
-
-   if (!(gesture->gesture_filter & E_GESTURE_TYPE_PINCH) &&
-       gesture->gesture_events.pinchs.activation.active)
-     {
-        _e_gesture_pinch_cancel();
-     }
-
-}
-
 /* Function for checking the existing grab for a key and sending key event(s) */
 Eina_Bool
 e_gesture_process_events(void *event, int type)
index 590219f..9ab63cd 100644 (file)
@@ -1705,7 +1705,6 @@ _e_gesture_cb_client_focus_in(void *data, int type, void *event)
 
    _e_gesture_window_gesture_disabled_change(ec);
    _e_gesture_deactivate_surface_check(ec);
-   e_gesture_event_deactivate_check();
 
    return ECORE_CALLBACK_PASS_ON;
 }
index 680cda8..953a63d 100644 (file)
@@ -405,7 +405,6 @@ E_API void *e_modapi_init(E_Module *m);
 E_API int   e_modapi_shutdown(E_Module *m);
 E_API int   e_modapi_save(E_Module *m);
 
-void e_gesture_event_deactivate_check(void);
 Eina_Bool e_gesture_process_events(void *event, int type);
 int e_gesture_type_convert(uint32_t type);