EVAS_OBJECT_DATA_ALIVE_CHECK(obj, EINA_FALSE);
if (!pointer)
- pointer = obj->layer->evas->default_mouse;
+ //TIZEN_ONLY(20180530): add storing last mouse device.
+ //pointer = obj->layer->evas->default_mouse;
+ pointer = (obj->layer->evas->last_mouse ? obj->layer->evas->last_mouse :
+ obj->layer->evas->default_mouse);
+ //
if (!pointer) return EINA_FALSE;
continue;
if ((in_objects_list && eina_list_data_find(pseat->object.in, obj)) || !in_objects_list)
{
- Evas_Pointer_Data *pdata = EINA_INLIST_CONTAINER_GET(pseat->pointers, Evas_Pointer_Data);
+ //TIZEN_ONLY(20180530): add storing last mouse device.
+ //Evas_Pointer_Data *pdata = EINA_INLIST_CONTAINER_GET(pseat->pointers, Evas_Pointer_Data);
+ Evas_Pointer_Data *pdata = NULL;
+ if (edata->last_mouse)
+ pdata = _evas_pointer_data_by_device_get(edata, edata->last_mouse);
+ else
+ pdata = EINA_INLIST_CONTAINER_GET(pseat->pointers, Evas_Pointer_Data);
+ //
_evas_canvas_event_pointer_move_event_dispatch(edata, pdata, data);
}
}
if ((xor_rule && ((in && !found) || (!in && found))) ||
(!xor_rule && (in || found)))
{
- if (!pdata) pdata = EINA_INLIST_CONTAINER_GET(pseat->pointers, Evas_Pointer_Data);
+ //TIZEN_ONLY(20180530): add storing last mouse device.
+ //if (!pdata) pdata = EINA_INLIST_CONTAINER_GET(pseat->pointers, Evas_Pointer_Data);
+ if (!pdata)
+ {
+ if (edata->last_mouse)
+ pdata = _evas_pointer_data_by_device_get(edata, edata->last_mouse);
+ else
+ pdata = EINA_INLIST_CONTAINER_GET(pseat->pointers, Evas_Pointer_Data);
+ }
+ //
_evas_canvas_event_pointer_move_event_dispatch(edata, pdata, data);
}
}