From: Shinwoo Kim Date: Mon, 29 Aug 2016 09:06:58 +0000 (+0900) Subject: Do not send mouse down/up, when TWO FINGERS TAP geuster occur. X-Git-Tag: accepted/tizen/common/20160908.134646^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2250c8d871a2d47b6c2b61f202f5491c28ce52e5;p=platform%2Fcore%2Fuifw%2Fe-mod-tizen-screen-reader.git Do not send mouse down/up, when TWO FINGERS TAP geuster occur. * 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 --- diff --git a/src/e_screen_reader_gestures.c b/src/e_screen_reader_gestures.c index e2552f4..cf92d39 100644 --- a/src/e_screen_reader_gestures.c +++ b/src/e_screen_reader_gestures.c @@ -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) &&