always delete the menus, even if the menu is attached (at the very least this fixes Purify warnings)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49413 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2007-10-24 23:41:45 +00:00
parent 90df603354
commit cfdcfeafbe

View File

@ -260,17 +260,11 @@ void wxMenu::Init()
// The wxWindow destructor will take care of deleting the submenus. // The wxWindow destructor will take care of deleting the submenus.
wxMenu::~wxMenu() wxMenu::~wxMenu()
{
// 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() )
{ {
if ( !::DestroyMenu(GetHmenu()) ) if ( !::DestroyMenu(GetHmenu()) )
{ {
wxLogLastError(wxT("DestroyMenu")); wxLogLastError(wxT("DestroyMenu"));
} }
}
#if wxUSE_ACCEL #if wxUSE_ACCEL
// delete accels // delete accels
@ -880,9 +874,8 @@ wxMenuBar::~wxMenuBar()
toolMenuBar->SetMenuBar(NULL); toolMenuBar->SetMenuBar(NULL);
} }
#else #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 )
if (m_hMenu && !IsAttached())
{ {
#if defined(WINCE_WITH_COMMANDBAR) #if defined(WINCE_WITH_COMMANDBAR)
::DestroyWindow((HWND) m_commandBar); ::DestroyWindow((HWND) m_commandBar);