summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorAleksei Nikiforov <darktemplar@basealt.ru>2019-01-10 15:54:56 +0300
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2019-01-11 14:46:05 +0100
commit35b59e56cc01e5ecf97583ab7b7884d301457089 (patch)
tree2911b1db96c02112b5442d9809ca00bc10463afd /vcl
parent72385abba9d02670349e18478cef4bf53b330cda (diff)
Unregister action when menu item is removed
Change-Id: I9fc5e6630560f285eeb7ef4dbc5e39ccabd5f0df Reviewed-on: https://gerrit.libreoffice.org/66147 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/qt5/Qt5Menu.cxx10
1 files changed, 9 insertions, 1 deletions
diff --git a/vcl/qt5/Qt5Menu.cxx b/vcl/qt5/Qt5Menu.cxx
index 51fca6cff27b..648ceb29ade6 100644
--- a/vcl/qt5/Qt5Menu.cxx
+++ b/vcl/qt5/Qt5Menu.cxx
@@ -185,7 +185,15 @@ void Qt5Menu::InsertItem(SalMenuItem* pSalMenuItem, unsigned nPos)
void Qt5Menu::RemoveItem(unsigned nPos)
{
SolarMutexGuard aGuard;
- maItems.erase(maItems.begin() + nPos);
+
+ if (nPos < maItems.size())
+ {
+ Qt5MenuItem* pItem = maItems[nPos];
+ pItem->mpAction.reset();
+ pItem->mpMenu.reset();
+
+ maItems.erase(maItems.begin() + nPos);
+ }
}
void Qt5Menu::SetSubMenu(SalMenuItem* pSalMenuItem, SalMenu* pSubMenu, unsigned)