]> 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 eda13dd85ac1b19c85c8c26462a9764d1f9aa8ec..6da3392881722c2f276d3057a452ea7cec5ee880 100644 (file)
@@ -1067,7 +1067,6 @@ wxApp::wxApp()
   argv = NULL;
 
   m_printMode = wxPRINT_WINDOWS;
-  SetExitOnFrameDelete(TRUE);
   m_auto3D = TRUE;
 }
 
@@ -1385,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 )
@@ -1951,7 +1954,7 @@ void wxApp::MacHandleKeyUpEvent( WXEVENTREF evr )
         long keyval = wxMacTranslateKey(keychar, keycode) ;
 
         wxWindow* focus = wxWindow::FindFocus() ;
-        bool handled = MacSendKeyUpEvent( focus , keyval , ev->modifiers , ev->when , ev->where.h , ev->where.v ) ;
+        MacSendKeyUpEvent( focus , keyval , ev->modifiers , ev->when , ev->where.h , ev->where.v ) ;
         // we don't have to do anything under classic here
     }
 }
@@ -2144,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 ;