summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-06-16 15:03:09 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-06-16 12:23:07 -0400
commit43b6c2eeb1fcdb9817c99e97f235976cfdf56f29 (patch)
treea4fac723eee9fce777d1ef94afd52a274613adea
parent4921d26fc8efa2acdf424ce47075ecb4ccacaaa4 (diff)
downloadefl-43b6c2eeb1fcdb9817c99e97f235976cfdf56f29.tar.gz
ecore-evas: use pointer device with mouse move events instead of seat
-rw-r--r--src/lib/ecore_evas/ecore_evas.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index 07ee8e8dce..b6d82c55f9 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -3399,6 +3399,7 @@ _ecore_evas_mouse_move_process_internal(Ecore_Evas *ee,
Efl_Input_Pointer *evt;
Eina_Bool send_event = EINA_TRUE;
Ecore_Evas_Cursor *cursor;
+ Eo *seat;
int fx, fy, fw, fh, evt_x, evt_y;
evas_output_framespace_get(ee->evas, &fx, &fy, &fw, &fh);
@@ -3406,16 +3407,20 @@ _ecore_evas_mouse_move_process_internal(Ecore_Evas *ee,
if (pointer)
{
if (efl_input_device_type_get(pointer) != EFL_INPUT_DEVICE_TYPE_SEAT)
- pointer = efl_input_device_seat_get(pointer);
- if (efl_input_device_type_get(pointer) != EFL_INPUT_DEVICE_TYPE_SEAT)
- {
- ERR("Could not find seat");
- return;
- }
+ seat = efl_input_device_seat_get(pointer);
+ else seat = pointer;
}
else
- pointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_SEAT);
- cursor = eina_hash_find(ee->prop.cursors, &pointer);
+ {
+ pointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_TYPE_MOUSE);
+ seat = efl_input_device_seat_get(pointer);
+ }
+ if (efl_input_device_type_get(seat) != EFL_INPUT_DEVICE_TYPE_SEAT)
+ {
+ ERR("Could not find seat");
+ return;
+ }
+ cursor = eina_hash_find(ee->prop.cursors, &seat);
if (cursor)
{
cursor->pos_x = x;