]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/cocoa/window.mm
supporting more key equivalents for display, fixing setHidden: method warning
[wxWidgets.git] / src / osx / cocoa / window.mm
index 6902e3a68d1bf98b01d7d829b59d62ba11b8820a..f7cbe4fb7cf55cdbb668cd1caa0052d82cb29958 100644 (file)
@@ -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];
 }