]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/cocoa/window.mm
no 10.4 support anymore
[wxWidgets.git] / src / osx / cocoa / window.mm
index 0bf187240188e2410ee8a873c8b3a9666ad63359..ed40a8e054347eb1100ff65ab3cf718276006314 100644 (file)
@@ -1091,6 +1091,7 @@ bool wxWidgetCocoaImpl::performKeyEquivalent(WX_NSEvent event, WXWidget slf, voi
         wxEvtHandler * const handler = m_wxPeer->GetEventHandler();
         
         wxCommandEvent command_event( wxEVT_COMMAND_MENU_SELECTED, command );
+        command_event.SetEventObject( wxevent.GetEventObject() );
         handled = handler->ProcessEvent( command_event );
         
         if ( !handled )
@@ -1983,7 +1984,8 @@ bool wxWidgetCocoaImpl::SetFocus()
     if ( !CanFocus() )
         return false;
 
-    [[m_osxView window] makeKeyAndOrderFront:nil] ;
+    // TODO remove if no issues arise: should not raise the window, only assign focus
+    //[[m_osxView window] makeKeyAndOrderFront:nil] ;
     [[m_osxView window] makeFirstResponder: m_osxView] ;
     return true;
 }
@@ -2305,9 +2307,9 @@ bool wxWidgetCocoaImpl::DoHandleKeyEvent(NSEvent *event)
     // changed by SetupKeyEvent() so it can be wxEVT_KEY_UP too by now).
     if ( wxevent.GetEventType() == wxEVT_KEY_DOWN )
     {
-        wxKeyEvent eventHook(wxevent);
-        eventHook.SetEventType(wxEVT_CHAR_HOOK);
-        if ( wxGetTopLevelParent(GetWXPeer())->OSXHandleKeyEvent(eventHook) )
+        wxKeyEvent eventHook(wxEVT_CHAR_HOOK, wxevent);
+        if ( GetWXPeer()->OSXHandleKeyEvent(eventHook)
+                && !eventHook.IsNextEventAllowed() )
             return true;
     }