diff options
author | Aleksei Nikiforov <darktemplar@basealt.ru> | 2019-01-10 15:54:56 +0300 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2019-01-11 14:46:05 +0100 |
commit | 35b59e56cc01e5ecf97583ab7b7884d301457089 (patch) | |
tree | 2911b1db96c02112b5442d9809ca00bc10463afd /vcl | |
parent | 72385abba9d02670349e18478cef4bf53b330cda (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.cxx | 10 |
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) |