Do not send mouse down/up, when TWO FINGERS TAP geuster occur. 57/85857/1 accepted/tizen/common/20160908.134646 accepted/tizen/mobile/20160908.122917 accepted/tizen/wearable/20160908.122952 submit/tizen/20160908.052948
authorShinwoo Kim <cinoo.kim@samsung.com>
Mon, 29 Aug 2016 09:06:58 +0000 (18:06 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Mon, 29 Aug 2016 09:06:58 +0000 (18:06 +0900)
* do not send mouse down/up, when TWO FINGERS TAP occurs
* exception handling: abnormal behavior caused by MOVE event before DOWN event.

Change-Id: Id68a71b6cdadfaf08ecc5e6364c0885da54a784e

src/e_screen_reader_gestures.c

index e2552f4..cf92d39 100644 (file)
@@ -246,7 +246,6 @@ _flick_gesture_mouse_down(Ecore_Event_Mouse_Button *ev, Cover *cov)
              cov->flick_gesture.state = GESTURE_ABORTED;
              return;
           }
-
         cov->flick_gesture.x_org[cov->flick_gesture.n_fingers] = ev->root.x;
         cov->flick_gesture.y_org[cov->flick_gesture.n_fingers] = ev->root.y;
         cov->flick_gesture.timestamp[cov->flick_gesture.n_fingers] = ev->timestamp;
@@ -560,6 +559,9 @@ _flick_gesture_mouse_move(Ecore_Event_Mouse_Move *ev, Cover *cov)
                if (cov->flick_gesture.finger[i] == ev->multi.device)
                break;
             }
+
+         if (i >= cov->n_taps) return;
+
          if (i == cov->flick_gesture.n_fingers)
           {
              if (cov->flick_gesture.n_fingers >= 3) //that is because of the EFL bug. Mouse move event before mouse down(!)
@@ -571,7 +573,7 @@ _flick_gesture_mouse_move(Ecore_Event_Mouse_Move *ev, Cover *cov)
           }
          int dxx = ev->root.x - cov->flick_gesture.x_org[i];
          int dyy = ev->root.y - cov->flick_gesture.y_org[i];
-         if (i == 1) {
+         if (i == 1 && cov->n_taps == 2) {
             if (cov->flick_gesture.flick_to_scroll || _flick_to_scroll_gesture_conditions_met(ev, cov->flick_gesture.timestamp[i], dxx, dyy)) {
                if (!cov->flick_gesture.flick_to_scroll) {
                   start_scroll(ev->x, ev->y, cov);
@@ -715,11 +717,6 @@ _hover_gesture_mouse_down(Ecore_Event_Mouse_Button *ev, Cover *cov)
         cov->hover_gesture.y[1] = ev->root.y;
         cov->hover_gesture.finger[1] = ev->multi.device;
         cov->hover_gesture.n_fingers = 2;
-        cov->hover_gesture.longpressed = EINA_TRUE;
-        if (cov->hover_gesture.timer)
-          ecore_timer_del(cov->hover_gesture.timer);
-        cov->hover_gesture.timer = NULL;
-        _hover_event_emit(cov, GESTURE_NOT_STARTED);
      }
    // abort gesture if more then 2 fingers touched screen
    if ((cov->hover_gesture.state == GESTURE_ONGOING) &&