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

Reply via email to