cancel gestures if gesture is already recognized 25/128925/1
authorJengHyun Kang <jhyuni.kang@samsung.com>
Fri, 12 May 2017 05:35:31 +0000 (14:35 +0900)
committerJengHyun Kang <jhyuni.kang@samsung.com>
Fri, 12 May 2017 05:35:31 +0000 (14:35 +0900)
Change-Id: I50988ac4cec367349b8ef78a894ca46c222d46b4

src/e_mod_gesture_events.c

index 6b92137..4bdcc1d 100644 (file)
@@ -299,6 +299,9 @@ _e_gesture_process_edge_swipe_down(Ecore_Event_Mouse_Button *ev)
    int i;
    unsigned int idx = ev->multi.device+1;
 
+   if (gesture->gesture_events.recognized_gesture)
+     _e_gesture_edge_swipe_cancel();
+
    if (gesture->gesture_events.num_pressed == 1)
      {
         for (i = 0; i < E_GESTURE_FINGER_MAX+1; i++)
@@ -777,6 +780,9 @@ _e_gesture_process_tap_down(Ecore_Event_Mouse_Button *ev)
 {
    E_Gesture_Event_Tap *taps = &gesture->gesture_events.taps;
 
+   if (gesture->gesture_events.recognized_gesture)
+     _e_gesture_tap_cancel();
+
    if (taps->enabled_finger < gesture->gesture_events.num_pressed)
        taps->enabled_finger = gesture->gesture_events.num_pressed;
 
@@ -821,6 +827,9 @@ _e_gesture_process_tap_move(Ecore_Event_Mouse_Move *ev)
 {
    int diff_x, diff_y;
 
+   if (gesture->gesture_events.recognized_gesture)
+     _e_gesture_tap_cancel();
+
    diff_x = gesture->gesture_events.base_point[ev->multi.device + 1].axis.x - ev->x;
    diff_y = gesture->gesture_events.base_point[ev->multi.device + 1].axis.y - ev->y;
 
@@ -837,6 +846,9 @@ _e_gesture_process_tap_up(Ecore_Event_Mouse_Button *ev)
 {
    E_Gesture_Event_Tap *taps = &gesture->gesture_events.taps;
 
+   if (gesture->gesture_events.recognized_gesture)
+     _e_gesture_tap_cancel();
+
    switch (taps->state)
      {
         case E_GESTURE_TAP_STATE_NONE: