From: Jean-Philippe Andre Date: Thu, 15 Jun 2017 11:26:54 +0000 (+0900) Subject: evas: Fix mouse events in inlined windows X-Git-Tag: upstream/1.20.0~536 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1af62db8f8e80b58864320cc47c53e0d19bd73d2;p=platform%2Fupstream%2Fefl.git 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 --- diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c index ea3e5da..1e3452e 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;