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
This commit is contained in:
Jean-Philippe Andre 2017-06-15 20:26:54 +09:00
parent a1141d8378
commit 1af62db8f8
1 changed files with 4 additions and 3 deletions

View File

@ -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;