]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/app.cpp
Font (possible) fix
[wxWidgets.git] / src / mac / carbon / app.cpp
index cf429f727eb75efc3ec52dc959710b7a780214c5..deef92ad8a2e37fa0a58fd66d664e7a9f31d3a66 100644 (file)
@@ -9,10 +9,6 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "app.h"
-#endif
-
 #include "wx/wxprec.h"
 
 #include "wx/window.h"
@@ -457,7 +453,15 @@ static pascal OSStatus wxMacAppCommandEventHandler( EventHandlerCallRef handler
     }
     else if ( id != 0 && command.menu.menuRef != 0 && command.menu.menuItemIndex != 0 )
     {
-        GetMenuItemRefCon( command.menu.menuRef , command.menu.menuItemIndex , (UInt32*) &item ) ;
+        wxMenu* itsMenu = NULL ;
+        UInt32 refCon ;
+        GetMenuItemRefCon( command.menu.menuRef , command.menu.menuItemIndex , &refCon ) ;
+        // make sure it is one of our own menus, otherwise don't touch
+        itsMenu = wxFindMenuFromMacMenu( command.menu.menuRef ) ;
+        if ( itsMenu != NULL )
+        {
+            item = (wxMenuItem*) refCon ;
+        }
     }
 
     if ( item )
@@ -565,7 +569,7 @@ DEFINE_ONE_SHOT_HANDLER_GETTER( wxMacAppEventHandler )
 WXIMPORT char std::__throws_bad_alloc ;
 #endif
 
-#if __WXDEBUG__
+#ifdef __WXDEBUG__
 
 pascal static void wxMacAssertOutputHandler(OSType componentSignature, UInt32 options,
     const char *assertionString, const char *exceptionLabelString,
@@ -619,7 +623,7 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
 {
     // Mac-specific
 
-#if __WXDEBUG__
+#ifdef __WXDEBUG__
     InstallDebugAssertOutputHandler ( NewDebugAssertOutputHandlerUPP( wxMacAssertOutputHandler ) );
 #endif
     UMAInitToolbox( 4, sm_isEmbedded ) ;
@@ -1443,7 +1447,7 @@ bool wxApp::MacSendKeyDownEvent( wxWindow* focus , long keymessage , long modifi
                      event.SetEventObject(def);
                      def->Command(event);
                      return true ;
-                }
+                 }
             }
             /* generate wxID_CANCEL if command-. or <esc> has been pressed (typically in dialogs) */
             else if (keyval == WXK_ESCAPE || (keyval == '.' && modifiers & cmdKey ) )