summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--framework/source/uielement/menubarmanager.cxx11
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() )
{