e_service_gesture: do not raise a gesture without 1st finger event 46/292246/1
authorduna.oh <duna.oh@samsung.com>
Tue, 2 May 2023 04:49:47 +0000 (13:49 +0900)
committerduna.oh <duna.oh@samsung.com>
Tue, 2 May 2023 07:05:39 +0000 (16:05 +0900)
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

index 71830628bba2926773a761562b99523641d198de..e669bbf95254e0567f4f26f7b36fa57d359ba66b 100644 (file)
@@ -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);