jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1af62db8f8e80b58864320cc47c53e0d19bd73d2
commit 1af62db8f8e80b58864320cc47c53e0d19bd73d2 Author: Jean-Philippe Andre <[email protected]> Date: Thu Jun 15 20:26:54 2017 +0900 evas: Fix mouse events in inlined windows There is a mismatch between seat & pointer. See @zmike's comments in T5515. Having both seat and pointer devices as different devices leads to these kinds of issues. Really annoying. Ref T5515 --- src/lib/evas/canvas/evas_main.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c index ea3e5daa4e..1e3452e892 100644 --- a/src/lib/evas/canvas/evas_main.c +++ b/src/lib/evas/canvas/evas_main.c @@ -1132,13 +1132,14 @@ _evas_pointer_data_by_device_get(Evas_Public_Data *edata, Efl_Input_Device *poin { Eina_List *l; Evas_Pointer_Data *pdata; + Efl_Input_Device *seat = NULL; - if (!pointer) - pointer = edata->default_mouse; + if (pointer) seat = efl_input_device_seat_get(pointer); + if (!seat) seat = edata->default_seat; EINA_LIST_FOREACH(edata->pointers, l, pdata) { - if (pdata->pointer == pointer) + if (pdata->seat->seat == seat) return pdata; } return NULL; --
