X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ce7fe42e848cc0c9058dae906c3a7bded50681e6..044388d13fb138fb202f1dd9afab511efd68ad5f:/src/msw/mdi.cpp diff --git a/src/msw/mdi.cpp b/src/msw/mdi.cpp index db1997bdd6..0645e4beb5 100644 --- a/src/msw/mdi.cpp +++ b/src/msw/mdi.cpp @@ -4,7 +4,6 @@ // Author: Julian Smart // Modified by: Vadim Zeitlin on 2008-11-04 to use the base classes // Created: 04/01/98 -// RCS-ID: $Id$ // Copyright: (c) 1998 Julian Smart // (c) 2008-2009 Vadim Zeitlin // Licence: wxWindows licence @@ -428,11 +427,14 @@ void wxMDIParentFrame::DoMenuUpdates(wxMenu* menu) wxMenuItem *wxMDIParentFrame::FindItemInMenuBar(int menuId) const { - wxMenuItem *item = wxFrame::FindItemInMenuBar(menuId); - if ( !item && GetActiveChild() ) - { - item = GetActiveChild()->FindItemInMenuBar(menuId); - } + // We must look in the child menu first: if it has an item with the same ID + // as in our own menu bar, the child item should be used to determine + // whether it's currently enabled. + wxMenuItem *item = GetActiveChild() + ? GetActiveChild()->FindItemInMenuBar(menuId) + : NULL; + if ( !item ) + item = wxFrame::FindItemInMenuBar(menuId); if ( !item && m_windowMenu ) item = m_windowMenu->FindItem(menuId); @@ -695,20 +697,6 @@ void wxMDIParentFrame::OnMDICommand(wxCommandEvent& event) #endif // wxUSE_MENUS -bool wxMDIParentFrame::TryBefore(wxEvent& event) -{ - // menu (and toolbar) events should be sent to the active child frame - // first, if any - if ( event.GetEventType() == wxEVT_MENU ) - { - wxMDIChildFrame * const child = GetActiveChild(); - if ( child && child->ProcessWindowEventLocally(event) ) - return true; - } - - return wxMDIParentFrameBase::TryBefore(event); -} - WXLRESULT wxMDIParentFrame::MSWDefWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)