From: Stefan Csomor Date: Wed, 28 Feb 2001 13:04:19 +0000 (+0000) Subject: added menubar update OnActivate for multiple frames with their own menubars, it's... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/41f38f4d596ddc17d20ddca9fc264523a8817e42?ds=inline added menubar update OnActivate for multiple frames with their own menubars, it's not perfect (menu merge) would be better, but at last something git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/mac/carbon/frame.cpp b/src/mac/carbon/frame.cpp index 16aee93377..9c06869fcb 100644 --- a/src/mac/carbon/frame.cpp +++ b/src/mac/carbon/frame.cpp @@ -230,7 +230,7 @@ void wxFrame::SetMenuBar(wxMenuBar *menuBar) m_frameMenuBar = NULL; m_frameMenuBar = menuBar; - m_frameMenuBar->MacInstallMenuBar() ; +// m_frameMenuBar->MacInstallMenuBar() ; m_frameMenuBar->Attach(this); } @@ -283,9 +283,14 @@ void wxFrame::OnActivate(wxActivateEvent& event) ) { child->SetFocus(); - return; + break; } } + + if ( m_frameMenuBar != NULL ) + { + m_frameMenuBar->MacInstallMenuBar() ; + } } void wxFrame::DoGetClientSize(int *x, int *y) const diff --git a/src/mac/carbon/menu.cpp b/src/mac/carbon/menu.cpp index 9d308de120..621494b83d 100644 --- a/src/mac/carbon/menu.cpp +++ b/src/mac/carbon/menu.cpp @@ -631,6 +631,9 @@ void wxMenuBar::RebuildAccelTable() void wxMenuBar::MacInstallMenuBar() { + if ( s_macInstalledMenuBar == this ) + return ; + Handle menubar = ::GetNewMBar( kwxMacMenuBarResource ) ; wxString message ; wxCHECK_RET( menubar != NULL, "can't read MBAR resource" ); diff --git a/src/mac/frame.cpp b/src/mac/frame.cpp index 16aee93377..9c06869fcb 100644 --- a/src/mac/frame.cpp +++ b/src/mac/frame.cpp @@ -230,7 +230,7 @@ void wxFrame::SetMenuBar(wxMenuBar *menuBar) m_frameMenuBar = NULL; m_frameMenuBar = menuBar; - m_frameMenuBar->MacInstallMenuBar() ; +// m_frameMenuBar->MacInstallMenuBar() ; m_frameMenuBar->Attach(this); } @@ -283,9 +283,14 @@ void wxFrame::OnActivate(wxActivateEvent& event) ) { child->SetFocus(); - return; + break; } } + + if ( m_frameMenuBar != NULL ) + { + m_frameMenuBar->MacInstallMenuBar() ; + } } void wxFrame::DoGetClientSize(int *x, int *y) const diff --git a/src/mac/menu.cpp b/src/mac/menu.cpp index 9d308de120..621494b83d 100644 --- a/src/mac/menu.cpp +++ b/src/mac/menu.cpp @@ -631,6 +631,9 @@ void wxMenuBar::RebuildAccelTable() void wxMenuBar::MacInstallMenuBar() { + if ( s_macInstalledMenuBar == this ) + return ; + Handle menubar = ::GetNewMBar( kwxMacMenuBarResource ) ; wxString message ; wxCHECK_RET( menubar != NULL, "can't read MBAR resource" );