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;

-- 


Reply via email to