diff --git a/base/shell/rshell/CMenuBand.cpp b/base/shell/rshell/CMenuBand.cpp index 344fdadd97a..fbb9ba4095f 100644 --- a/base/shell/rshell/CMenuBand.cpp +++ b/base/shell/rshell/CMenuBand.cpp @@ -72,6 +72,9 @@ CMenuBand::~CMenuBand() if (m_SFToolbar) delete m_SFToolbar; + + if (m_hmenu) + DestroyMenu(m_hmenu); } HRESULT STDMETHODCALLTYPE CMenuBand::Initialize( @@ -129,6 +132,12 @@ HRESULT STDMETHODCALLTYPE CMenuBand::SetMenu( BOOL created = FALSE; + if (m_hmenu) + { + DestroyMenu(m_hmenu); + m_hmenu = NULL; + } + if (m_staticToolbar == NULL) { m_staticToolbar = new CMenuStaticToolbar(this);