From 2a23d9cc4d5d3e746fec62a41bf85bb81a4c299d Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Tue, 5 Jul 2016 14:47:16 +0200 Subject: when disposing popup menus, don't leave dangling pointers Change-Id: Ia1b49937ba0693a567097367b99b75a3011666bf Reviewed-on: https://gerrit.libreoffice.org/26960 Tested-by: Jenkins Reviewed-by: Michael Meeks Tested-by: Michael Meeks --- vcl/source/window/menu.cxx | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'vcl') diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx index c5e32f6118de..f146be47f48d 100644 --- a/vcl/source/window/menu.cxx +++ b/vcl/source/window/menu.cxx @@ -831,6 +831,13 @@ PopupMenu* Menu::GetPopupMenu( sal_uInt16 nItemId ) const return nullptr; } +void Menu::DisposePopupMenu( sal_uInt16 nItemId ) +{ + MenuItemData* pData = pItemList->GetData( nItemId ); + if ( pData ) + pData->pSubMenu.disposeAndClear(); +} + void Menu::SetAccelKey( sal_uInt16 nItemId, const KeyCode& rKeyCode ) { size_t nPos; -- cgit