I considered making this change, but I'm not sure it's viable to keep this unless we are agreeing to never send pointer devices with events; this change breaks all assumptions which could be made by current users of the device api since it will result in "random" devices being used if multiple pointers exist for a seat.
On Thu, Jun 15, 2017 at 7:31 AM Jean-Philippe ANDRÉ <[email protected]> wrote: > 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; > > -- > > > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
