X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/52af3158e974b042008474268570f3bdb7ce95ee..96a4cdebda5b3eca828bed1ee56dc550c36784bf:/src/msw/menu.cpp diff --git a/src/msw/menu.cpp b/src/msw/menu.cpp index 915992cf08..27ccbc0fb8 100644 --- a/src/msw/menu.cpp +++ b/src/msw/menu.cpp @@ -261,15 +261,9 @@ void wxMenu::Init() // The wxWindow destructor will take care of deleting the submenus. 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 @@ -788,10 +782,12 @@ void wxMenu::SetTitle(const wxString& label) // event processing // --------------------------------------------------------------------------- -bool wxMenu::MSWCommand(WXUINT WXUNUSED(param), WXWORD id) +bool wxMenu::MSWCommand(WXUINT WXUNUSED(param), WXWORD id_) { + const int id = (signed short)id_; + // ignore commands from the menu title - if ( id != (WXWORD)idMenuTitle ) + if ( id != idMenuTitle ) { // update the check item when it's clicked wxMenuItem * const item = FindItem(id); @@ -878,9 +874,8 @@ wxMenuBar::~wxMenuBar() 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 ( m_hMenu ) { #if defined(WINCE_WITH_COMMANDBAR) ::DestroyWindow((HWND) m_commandBar);