reverted last changed (r49413) as deleting non-attached menus fails under Windows 95

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2007-10-30 18:51:16 +00:00
parent b9a5faed6a
commit deac32b034

View File

@ -261,9 +261,15 @@ void wxMenu::Init()
// 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"));
}
}
#if wxUSE_ACCEL
@ -874,8 +880,9 @@ wxMenuBar::~wxMenuBar()
toolMenuBar->SetMenuBar(NULL);
}
#else
if ( m_hMenu )
// 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);