]> git.saurik.com Git - wxWidgets.git/commitdiff
added menubar update OnActivate for multiple frames with their own menubars, it's...
authorStefan Csomor <csomor@advancedconcepts.ch>
Wed, 28 Feb 2001 13:04:19 +0000 (13:04 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Wed, 28 Feb 2001 13:04:19 +0000 (13:04 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mac/carbon/frame.cpp
src/mac/carbon/menu.cpp
src/mac/frame.cpp
src/mac/menu.cpp

index 16aee93377ffe33d4e7921998f7ba5f44f676c8b..9c06869fcbe0e13c3465fc4a6c83fe18c7a7fc57 100644 (file)
@@ -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
index 9d308de12071467827fcf58f1a6f4211c1e90186..621494b83dc0d6015c3573d884ec2abfea1fdb95 100644 (file)
@@ -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" );
index 16aee93377ffe33d4e7921998f7ba5f44f676c8b..9c06869fcbe0e13c3465fc4a6c83fe18c7a7fc57 100644 (file)
@@ -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
index 9d308de12071467827fcf58f1a6f4211c1e90186..621494b83dc0d6015c3573d884ec2abfea1fdb95 100644 (file)
@@ -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" );