X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/671b125ba7bf97627400afb5fbf71eb643bfca80..9c894932284cac53d9cd8d8b2f16308bc65f44d6:/src/osx/cocoa/window.mm diff --git a/src/osx/cocoa/window.mm b/src/osx/cocoa/window.mm index 6902e3a68d..f7cbe4fb7c 100644 --- a/src/osx/cocoa/window.mm +++ b/src/osx/cocoa/window.mm @@ -2072,16 +2072,19 @@ bool wxWidgetCocoaImpl::DoHandleKeyEvent(NSEvent *event) // eventually we could setup a doCommandBySelector catcher and retransform this into the wx key chars wxKeyEvent wxevent2(wxevent) ; wxevent2.SetEventType(wxEVT_CHAR); - GetWXPeer()->OSXHandleKeyEvent(wxevent2); + result = GetWXPeer()->OSXHandleKeyEvent(wxevent2); } else { - if ( [m_osxView isKindOfClass:[NSScrollView class] ] ) - [[(NSScrollView*)m_osxView documentView] interpretKeyEvents:[NSArray arrayWithObject:event]]; - else - [m_osxView interpretKeyEvents:[NSArray arrayWithObject:event]]; + if ( !wxevent.CmdDown() ) + { + if ( [m_osxView isKindOfClass:[NSScrollView class] ] ) + [[(NSScrollView*)m_osxView documentView] interpretKeyEvents:[NSArray arrayWithObject:event]]; + else + [m_osxView interpretKeyEvents:[NSArray arrayWithObject:event]]; + result = true; + } } - result = true; } } @@ -2140,13 +2143,16 @@ void wxWidgetCocoaImpl::DoNotifyFocusEvent(bool receivedFocus, wxWidgetImpl* oth void wxWidgetCocoaImpl::SetCursor(const wxCursor& cursor) { - NSPoint location = [NSEvent mouseLocation]; - location = [[m_osxView window] convertScreenToBase:location]; - NSPoint locationInView = [m_osxView convertPoint:location fromView:nil]; - - if( NSMouseInRect(locationInView, [m_osxView bounds], YES) ) + if ( !wxIsBusy() ) { - [(NSCursor*)cursor.GetHCURSOR() set]; + NSPoint location = [NSEvent mouseLocation]; + location = [[m_osxView window] convertScreenToBase:location]; + NSPoint locationInView = [m_osxView convertPoint:location fromView:nil]; + + if( NSMouseInRect(locationInView, [m_osxView bounds], YES) ) + { + [(NSCursor*)cursor.GetHCURSOR() set]; + } } [[m_osxView window] invalidateCursorRectsForView:m_osxView]; }