Kaydet (Commit) 4433d95b authored tarafından Maxim Monastirsky's avatar Maxim Monastirsky

MenuItemData now properly disposes the submenu

At least since:

commit ee79a2dd
Author: Caolán McNamara <caolanm@redhat.com>
Date:   Fri Jul 29 14:33:22 2016 +0100

    Resolves: tdf#101169 crash using column menu in base

Change-Id: Ib1bc70e8e66f2be123d8a3e5d5e213775e9a5762
üst a3b44da9
......@@ -50,7 +50,6 @@ private:
sal_uInt32 nActionID ) : m_xAction( xAction ), m_xSmartTagProperties( xSmartTagProperties ), m_nActionID( nActionID ) {}
};
std::vector< InvokeAction > m_aInvokeActions;
std::vector< VclPtr< PopupMenu > > m_aSubMenus;
std::unique_ptr< const SvxSmartTagItem > m_pSmartTagItem;
};
......@@ -61,15 +60,12 @@ SmartTagMenuController::SmartTagMenuController( const css::uno::Reference< css::
SmartTagMenuController::~SmartTagMenuController()
{
for (auto& i : m_aSubMenus)
i.disposeAndClear();
}
void SmartTagMenuController::statusChanged( const css::frame::FeatureStateEvent& rEvent )
throw ( css::uno::RuntimeException, std::exception )
{
resetPopupMenu( m_xPopupMenu );
m_aSubMenus.clear();
css::uno::Sequence< css::beans::PropertyValue > aProperties;
if ( rEvent.IsEnabled && ( rEvent.State >>= aProperties ) )
......@@ -155,7 +151,6 @@ void SmartTagMenuController::FillMenu()
pVCLMenu->InsertItem( nMenuId, aSmartTagCaption );
VclPtrInstance<PopupMenu> pMenu;
pSubMenu = pMenu;
m_aSubMenus.push_back( pMenu );
pVCLMenu->SetPopupMenu( nMenuId++, pSubMenu );
}
pSubMenu->SetSelectHdl( LINK( this, SmartTagMenuController, MenuSelect ) );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment