netstar pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a939b57c7b4da5171d92de93f1d837bcef842765

commit a939b57c7b4da5171d92de93f1d837bcef842765
Author: Alastair Poole <[email protected]>
Date:   Thu Jun 21 13:34:20 2018 +0100

    ecore_cocoa: fix ECORE_EVENT_KEY_DOWN/UP on MacOS.
    
    Fixing issue with modifier keys on MacOS. These events were missing
    window information. Tested with Fyne.io. Window ID and keyname
    are valid. See: http://bogosys.org/images/fyne_OSX.png. Thanks
    zmike for initial investigation.
    
    @fix T6944
---
 src/lib/ecore_cocoa/ecore_cocoa.m | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/lib/ecore_cocoa/ecore_cocoa.m 
b/src/lib/ecore_cocoa/ecore_cocoa.m
index 83a7e26876..cfd56d397a 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa.m
+++ b/src/lib/ecore_cocoa/ecore_cocoa.m
@@ -254,6 +254,7 @@ _ecore_cocoa_feed_events(void *anEvent)
       case NSEventTypeFlagsChanged:
         {
            NSUInteger flags = [event modifierFlags];
+           EcoreCocoaWindow *window = (EcoreCocoaWindow *)[event window];
 
            Ecore_Event_Key *evDown = NULL;
            Ecore_Event_Key *evUp = NULL;
@@ -277,6 +278,8 @@ _ecore_cocoa_feed_events(void *anEvent)
 
            if (evDown->key)
              {
+                evDown->window = (Ecore_Window)window.ecore_window_data;
+                evDown->event_window = evDown->window;
                 evDown->keyname = evDown->key;
                 evDown->timestamp = time;
                 evDown->string = NULL;
@@ -311,6 +314,8 @@ _ecore_cocoa_feed_events(void *anEvent)
 
            if (evUp->key)
              {
+                evUp->window = (Ecore_Window)window.ecore_window_data;
+                evUp->event_window = evUp->window;
                 evUp->keyname = evUp->key;
                 evUp->timestamp = time;
                 evUp->string = NULL;

-- 


Reply via email to