From 08f1b9eba1ba3f7149e6e66807f152277c006e97 Mon Sep 17 00:00:00 2001 From: "duna.oh" Date: Tue, 2 May 2023 13:49:47 +0900 Subject: [PATCH] e_service_gesture: do not raise a gesture without 1st finger event e_service_gesture expects multi-touch events coming after 1st finger events. There was the bug that a gesture started from 2nd finger event and didn't end properly since 1st finger was consumed by e-mod screen reader. This patch add prevention check if 1st finger did come or not. Change-Id: Ied7f991671eceb7c57aa1b78fe5fcf495b1503dd --- src/bin/services/e_service_gesture.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/bin/services/e_service_gesture.c b/src/bin/services/e_service_gesture.c index 7183062..e669bbf 100644 --- a/src/bin/services/e_service_gesture.c +++ b/src/bin/services/e_service_gesture.c @@ -492,6 +492,12 @@ _gesture_obj_cb_multi_down(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj, return; } + if (gesture->pressed_fingers <= 0) + { + // 1st finger's event didn't come, so ignore meaningless touch + return; + } + gesture->pressed_fingers++; _gesture_touch_down(data, obj, ev->device, ev->canvas.x, ev->canvas.y, ev->timestamp); -- 2.7.4