e_service_gesture: do not raise a gesture without 1st finger event 41/292241/1
authorduna.oh <duna.oh@samsung.com>
Tue, 2 May 2023 04:49:47 +0000 (13:49 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Tue, 2 May 2023 06:04:06 +0000 (15:04 +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 7183062..e669bbf 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);