e_comp_wl: Do not send multi touch events generated by touch cancel 80/98580/2 accepted/tizen/common/20161121.143448 accepted/tizen/ivi/20161121.235247 accepted/tizen/mobile/20161121.235130 accepted/tizen/tv/20161121.235153 accepted/tizen/wearable/20161121.235229 submit/tizen/20161121.084448 submit/tizen_3.0/20161121.084755
authorJengHyun Kang <jhyuni.kang@samsung.com>
Fri, 18 Nov 2016 00:15:23 +0000 (09:15 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Mon, 21 Nov 2016 07:38:37 +0000 (23:38 -0800)
Change-Id: If6c65985de2f3f98c40b0b9f3ccb109e093961dc

src/bin/e_comp_wl.c

index bbfc5c302402e0cd1a120f5717641854afeb55b7..3b0dfbf75e0fdf5c94016dc7b3c4cd89b2194a63 100644 (file)
@@ -1464,13 +1464,14 @@ _e_comp_wl_evas_cb_multi_down(void *data, Evas *evas EINA_UNUSED, Evas_Object *o
 }
 
 static void
-_e_comp_wl_evas_cb_multi_up(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event)
+_e_comp_wl_evas_cb_multi_up(void *data, Evas *evas, Evas_Object *obj EINA_UNUSED, void *event)
 {
    E_Client *ec = data;
    Evas_Event_Multi_Up *ev = event;
    Evas_Device *dev = NULL;
    const char *dev_name;
    Evas_Device_Class dev_class;
+   Evas_Event_Flags flags;
 
    if (!ec) return;
    if (e_object_is_del(E_OBJECT(ec))) return;
@@ -1479,6 +1480,9 @@ _e_comp_wl_evas_cb_multi_up(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj
    /* Do not deliver emulated single touch events to client */
    if (ev->device == 0) return;
 
+   flags = evas_event_default_flags_get(evas);
+   if (flags & EVAS_EVENT_FLAG_ON_HOLD) return;
+
    dev = ev->dev;
    if (dev && (dev_name = evas_device_description_get(dev)))
      {