framework/source/uielement/resourcemenucontroller.cxx | 20 ++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-)
New commits: commit 6402164182865d7644d2e93158a23e12a6da3926 Author: Maxim Monastirsky <momonas...@gmail.com> Date: Fri Jan 29 00:40:36 2016 +0200 tdf#97411 ResourceMenuController: Don't forget to dispose MenuBarManager Change-Id: Ib41952dae6bcca80436355fa5a0707e671fd3698 diff --git a/framework/source/uielement/resourcemenucontroller.cxx b/framework/source/uielement/resourcemenucontroller.cxx index a626e35..581c227 100644 --- a/framework/source/uielement/resourcemenucontroller.cxx +++ b/framework/source/uielement/resourcemenucontroller.cxx @@ -175,7 +175,11 @@ void ResourceMenuController::updatePopupMenu() } // Clear previous content. - m_xMenuBarManager.clear(); + if ( m_xMenuBarManager.is() ) + { + m_xMenuBarManager->dispose(); + m_xMenuBarManager.clear(); + } resetPopupMenu( m_xPopupMenu ); m_nNewMenuId = 1; @@ -240,7 +244,7 @@ void ResourceMenuController::itemActivated( const css::awt::MenuEvent& /*rEvent* VCLXMenu* pAwtMenu = VCLXMenu::GetImplementation( m_xPopupMenu ); css::uno::Reference< css::frame::XDispatchProvider > xDispatchProvider( m_xFrame, css::uno::UNO_QUERY ); m_xMenuBarManager.set( new framework::MenuBarManager( - m_xContext, m_xFrame, m_xURLTransformer, xDispatchProvider, m_aModuleName, pAwtMenu->GetMenu(), true, true, !m_bContextMenu && !m_bInToolbar ) ); + m_xContext, m_xFrame, m_xURLTransformer, xDispatchProvider, m_aModuleName, pAwtMenu->GetMenu(), false, true, !m_bContextMenu && !m_bInToolbar ) ); } } @@ -278,8 +282,12 @@ void ResourceMenuController::disposing( const css::lang::EventObject& rEvent ) m_xModuleConfigManager.clear(); else { + if ( m_xMenuBarManager.is() ) + { + m_xMenuBarManager->dispose(); + m_xMenuBarManager.clear(); + } svt::PopupMenuControllerBase::disposing( rEvent ); - m_xMenuBarManager.clear(); } } @@ -295,8 +303,12 @@ void ResourceMenuController::disposing() m_xConfigManager.clear(); m_xModuleConfigManager.clear(); - m_xMenuBarManager.clear(); m_xMenuContainer.clear(); + if ( m_xMenuBarManager.is() ) + { + m_xMenuBarManager->dispose(); + m_xMenuBarManager.clear(); + } svt::PopupMenuControllerBase::disposing(); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits