git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49537
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// The wxWindow destructor will take care of deleting the submenus.
wxMenu::~wxMenu()
{
// The wxWindow destructor will take care of deleting the submenus.
wxMenu::~wxMenu()
{
- if ( !::DestroyMenu(GetHmenu()) )
+ // we should free Windows resources only if Windows doesn't do it for us
+ // which happens if we're attached to a menubar or a submenu of another
+ // menu
+ if ( !IsAttached() && !GetParent() )
- wxLogLastError(wxT("DestroyMenu"));
+ if ( !::DestroyMenu(GetHmenu()) )
+ {
+ wxLogLastError(wxT("DestroyMenu"));
+ }
toolMenuBar->SetMenuBar(NULL);
}
#else
toolMenuBar->SetMenuBar(NULL);
}
#else
+ // 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())
{
#if defined(WINCE_WITH_COMMANDBAR)
::DestroyWindow((HWND) m_commandBar);
{
#if defined(WINCE_WITH_COMMANDBAR)
::DestroyWindow((HWND) m_commandBar);