X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/524c47aa3adf2af11a3069fd5da035a604f08f66..a188ac2988b6fedeead7a809124b8eaa2290c020:/src/osx/menu_osx.cpp diff --git a/src/osx/menu_osx.cpp b/src/osx/menu_osx.cpp index c2ac17c2e9..91f2de1798 100644 --- a/src/osx/menu_osx.cpp +++ b/src/osx/menu_osx.cpp @@ -501,20 +501,19 @@ void wxMenuBar::Init() { m_eventHandler = this; m_menuBarFrame = NULL; - m_invokingWindow = (wxWindow*) NULL; + m_invokingWindow = NULL; m_rootMenu = new wxMenu(); - wxMenu* applemenu = new wxMenu(); - applemenu->SetAllowRearrange(false); - applemenu->Append( wxApp::s_macAboutMenuItemId, "About..." ); - applemenu->AppendSeparator(); - applemenu->Append( wxApp::s_macPreferencesMenuItemId, "Preferences..." ); - applemenu->AppendSeparator(); - -#if ! wxOSX_USE_CARBON - applemenu->Append( wxApp::s_macExitMenuItemId, "Quit\tCtrl+Q" ); + m_appleMenu = new wxMenu(); + m_appleMenu->SetAllowRearrange(false); + m_appleMenu->Append( wxApp::s_macAboutMenuItemId, "About..." ); + m_appleMenu->AppendSeparator(); +#if !wxOSX_USE_CARBON + m_appleMenu->Append( wxApp::s_macPreferencesMenuItemId, "Preferences..." ); + m_appleMenu->AppendSeparator(); + m_appleMenu->Append( wxApp::s_macExitMenuItemId, "Quit\tCtrl+Q" ); #endif - m_rootMenu->AppendSubMenu(applemenu, "\x14") ; + m_rootMenu->AppendSubMenu(m_appleMenu, "\x14") ; } wxMenuBar::wxMenuBar() @@ -565,6 +564,7 @@ void wxMenuBar::MacInstallMenuBar() return ; m_rootMenu->GetPeer()->MakeRoot(); + // DisableMenuCommand( NULL , kHICommandPreferences ) ; #if 0 MenuBarHandle menubar = NULL ; @@ -890,7 +890,7 @@ bool wxMenuBar::Append(wxMenu *menu, const wxString& title) static void wxMenubarUnsetInvokingWindow( wxMenu *menu ) { - menu->SetInvokingWindow( (wxWindow*) NULL ); + menu->SetInvokingWindow( NULL ); wxMenuItemList::compatibility_iterator node = menu->GetMenuItems().GetFirst(); while (node) @@ -921,7 +921,9 @@ static void wxMenubarSetInvokingWindow( wxMenu *menu, wxWindow *win ) void wxMenuBar::UnsetInvokingWindow() { - m_invokingWindow = (wxWindow*) NULL; + m_invokingWindow = NULL; + wxMenubarUnsetInvokingWindow(m_appleMenu); + wxMenu *menu; wxMenuList::compatibility_iterator node = m_menus.GetFirst(); @@ -937,6 +939,8 @@ void wxMenuBar::UnsetInvokingWindow() void wxMenuBar::SetInvokingWindow(wxFrame *frame) { m_invokingWindow = frame; + wxMenubarSetInvokingWindow(m_appleMenu, frame); + wxMenu *menu; wxMenuList::compatibility_iterator node = m_menus.GetFirst();