diff options
-rw-r--r-- | framework/source/uielement/menubarmanager.cxx | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/framework/source/uielement/menubarmanager.cxx b/framework/source/uielement/menubarmanager.cxx index 6f691c7cc2e4..137737009ba8 100644 --- a/framework/source/uielement/menubarmanager.cxx +++ b/framework/source/uielement/menubarmanager.cxx @@ -549,13 +549,14 @@ void MenuBarManager::RemoveListener() } pItemHandler->xMenuItemDispatch.clear(); + + // Remove popup menu from menu structure (regardless whether an + // xPopupMenu proxy has been set up for it; calling SetPopupMenu for + // a non-popup child will effectively do nothing: + m_pVCLMenu->SetPopupMenu( pItemHandler->nItemId, nullptr ); + if ( pItemHandler->xPopupMenu.is() ) { - { - // Remove popup menu from menu structure - m_pVCLMenu->SetPopupMenu( pItemHandler->nItemId, nullptr ); - } - Reference< css::lang::XEventListener > xEventListener( pItemHandler->xPopupMenuController, UNO_QUERY ); if ( xEventListener.is() ) { |