From 35b59e56cc01e5ecf97583ab7b7884d301457089 Mon Sep 17 00:00:00 2001 From: Aleksei Nikiforov Date: Thu, 10 Jan 2019 15:54:56 +0300 Subject: Unregister action when menu item is removed Change-Id: I9fc5e6630560f285eeb7ef4dbc5e39ccabd5f0df Reviewed-on: https://gerrit.libreoffice.org/66147 Tested-by: Jenkins Reviewed-by: Thorsten Behrens --- vcl/qt5/Qt5Menu.cxx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'vcl') 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) -- cgit