diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-06-16 15:03:09 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-06-16 12:23:07 -0400 |
commit | 43b6c2eeb1fcdb9817c99e97f235976cfdf56f29 (patch) | |
tree | a4fac723eee9fce777d1ef94afd52a274613adea | |
parent | 4921d26fc8efa2acdf424ce47075ecb4ccacaaa4 (diff) | |
download | efl-43b6c2eeb1fcdb9817c99e97f235976cfdf56f29.tar.gz |
ecore-evas: use pointer device with mouse move events instead of seat
-rw-r--r-- | src/lib/ecore_evas/ecore_evas.c | 21 |
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; |