X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f7f50f493baa177e8ae07d12641095baee55d4f8..572affa49c8087cb0dcb3a45dd29c729f3120b90:/src/msw/menu.cpp diff --git a/src/msw/menu.cpp b/src/msw/menu.cpp index eb78604c7d..b3005be6cc 100644 --- a/src/msw/menu.cpp +++ b/src/msw/menu.cpp @@ -5,8 +5,8 @@ // Modified by: Vadim Zeitlin // Created: 04/01/98 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// // =========================================================================== @@ -557,6 +557,13 @@ wxMenuBar::wxMenuBar(int count, wxMenu *menus[], const wxString titles[]) wxMenuBar::~wxMenuBar() { + // we should free Windows resources only if Windows doesn't do it for us + // which happens if we're attached to a frame + if (m_hMenu && !IsAttached()) + { + ::DestroyMenu((HMENU)m_hMenu); + m_hMenu = (WXHMENU)NULL; + } } // --------------------------------------------------------------------------- @@ -838,8 +845,6 @@ void wxMenuBar::Attach(wxFrame *frame) void wxMenuBar::Detach() { - m_hMenu = (WXHMENU)NULL; - wxMenuBarBase::Detach(); }