]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/app.cpp
Applied patch 548046: wxDebugAlloc & wxDebugFree thread safe
[wxWidgets.git] / src / mac / app.cpp
index 268e014276c4f89f6f0e679b79c3c2c52de97abb..6da3392881722c2f276d3057a452ea7cec5ee880 100644 (file)
@@ -1384,7 +1384,11 @@ void wxApp::MacHandleModifierEvents( WXEVENTREF evr )
     }
     else
     {
-        ev->modifiers = GetCurrentKeyModifiers() ;
+        EventRecord nev ;
+        WaitNextEvent( 0 , &nev , 0 , NULL ) ;
+        ev->modifiers = nev.modifiers ;
+        // KeyModifiers unfortunately don't include btnState...
+//        ev->modifiers = GetCurrentKeyModifiers() ; 
     }
 #endif
     if ( ev->modifiers != s_lastModifiers && wxWindow::FindFocus() != NULL )
@@ -2143,23 +2147,30 @@ void wxApp::MacHandleOSEvent( WXEVENTREF evr )
 
                 switch (windowPart)
                 {
-                    // fixes for setting the cursor back from dominic mazzoni
-                    case inMenuBar :
-                        UMAShowArrowCursor();
-                        break ;
-                    case inSysWindow :
-                        UMAShowArrowCursor();
-                        break ;
-                    default:
+                    case inContent :
                         {
                             wxTopLevelWindowMac* win = wxFindWinFromMacWindow( window ) ;
                             if ( win )
                                 win->MacMouseMoved( ev , windowPart ) ;
                             else
-                                UMAShowArrowCursor();
-
+                            {
+                                if ( wxIsBusy() )
+                                {
+                                }
+                                else
+                                    UMAShowArrowCursor();
+                             }
                         }
                         break;
+                    default :
+                        {
+                            if ( wxIsBusy() )
+                            {
+                            }
+                            else
+                                UMAShowArrowCursor();
+                        }
+                        break ;
                 }
             }
             break ;