diff options
author | Aron Budea <aron.budea@collabora.com> | 2017-04-03 02:21:28 +0200 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2017-04-04 15:58:29 +0000 |
commit | 2aa43937ec9c9e22d9b28f4275a5bfb3ffbd82c0 (patch) | |
tree | cd7546ad50324b81a2e09fc878f7ad7ec1c820e8 /vcl/source/window/menuitemlist.cxx | |
parent | c1351a7b1363dac4349f37ac8876fdf950e62b97 (diff) |
tdf#104686: do not crash if Menu has been somehow disposed
The rare crashes in MenuFloatingWindow::ImplGetStartY() and
MenuFloatingWindow::ImplScroll(bool) likely happen because
of a disposed Menu.
Let's guard against invalid accesses.
Change-Id: Ie31240abbc48c06edd40d0a95f319725cdb3db16
Reviewed-on: https://gerrit.libreoffice.org/36026
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'vcl/source/window/menuitemlist.cxx')
-rw-r--r-- | vcl/source/window/menuitemlist.cxx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/vcl/source/window/menuitemlist.cxx b/vcl/source/window/menuitemlist.cxx index 7316ed98355f..67cdb6af2cce 100644 --- a/vcl/source/window/menuitemlist.cxx +++ b/vcl/source/window/menuitemlist.cxx @@ -135,6 +135,13 @@ void MenuItemList::Remove( size_t nPos ) } } +void MenuItemList::Clear() +{ + for (MenuItemData* i : maItemList) + delete i; + maItemList.resize(0); +} + MenuItemData* MenuItemList::GetData( sal_uInt16 nSVId, size_t& rPos ) const { for( size_t i = 0, n = maItemList.size(); i < n; ++i ) |