]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/framecmn.cpp
multilib mode
[wxWidgets.git] / src / common / framecmn.cpp
index 3641dec49e823f42ec1a6364cdb8afcb75e68279..cbf6bf21ee24a0501d9aef1c7ee4672dc29296e8 100644 (file)
@@ -151,7 +151,7 @@ wxPoint wxFrameBase::GetClientAreaOrigin() const
 {
     wxPoint pt = wxTopLevelWindow::GetClientAreaOrigin();
 
-#if wxUSE_TOOLBAR && !defined(__WXUNIVERSAL__)
+#if wxUSE_TOOLBAR && !defined(__WXUNIVERSAL__) && !defined(__WXWINCE__)
     wxToolBar *toolbar = GetToolBar();
     if ( toolbar && toolbar->IsShown() )
     {
@@ -250,16 +250,18 @@ void wxFrameBase::OnMenuHighlight(wxMenuEvent& event)
 // Implement internal behaviour (menu updating on some platforms)
 void wxFrameBase::OnInternalIdle()
 {
+    wxTopLevelWindow::OnInternalIdle();
+    
 #if wxUSE_MENUS && wxUSE_IDLEMENUUPDATES
     if (wxUpdateUIEvent::CanUpdate(this))
         DoMenuUpdates();
 #endif
 }
 
-void wxFrameBase::OnMenuOpen(wxMenuEvent& WXUNUSED(event))
+void wxFrameBase::OnMenuOpen(wxMenuEvent& event)
 {
 #if wxUSE_MENUS && !wxUSE_IDLEMENUUPDATES
-    DoMenuUpdates();
+    DoMenuUpdates(event.GetMenu());
 #endif
 }
 
@@ -421,13 +423,15 @@ wxToolBar* wxFrameBase::OnCreateToolBar(long style,
 #if wxUSE_MENUS
 
 // update all menus
-void wxFrameBase::DoMenuUpdates()
+void wxFrameBase::DoMenuUpdates(wxMenu* menu)
 {
+    wxEvtHandler* source = GetEventHandler();
     wxMenuBar* bar = GetMenuBar();
 
-    if ( bar != NULL )
+    if (menu)
+        menu->UpdateUI(source);
+    else if ( bar != NULL )
     {
-        wxEvtHandler* source = GetEventHandler();
         int nCount = bar->GetMenuCount();
         for (int n = 0; n < nCount; n++)
             bar->GetMenu(n)->UpdateUI(source);