summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorJim Raykowski <raykowj@gmail.com>2020-05-09 23:53:34 -0800
committerCaolán McNamara <caolanm@redhat.com>2020-05-11 17:15:02 +0200
commit3951a71777038e635e9747684806678c1c7f6612 (patch)
tree42b372805fadc5ffb29e3d0242328a7f14fc978e /vcl
parentc0517c6215c78e65af8b20e8c033a75586a794bd (diff)
tdf#132935 fix gtk3 submenu crash
Change-Id: Icfc7d17f289bb94896e5e770c61809cb473d35a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93943 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/unx/gtk3/gtk3gtkinst.cxx10
1 files changed, 10 insertions, 0 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 1620077aa79e..934d52f8f6f5 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -7632,6 +7632,16 @@ public:
void remove(const OString& rIdent) override
{
+ if (!m_aExtraItems.empty())
+ {
+ GtkMenuItem* pMenuItem = m_aMap[rIdent];
+ auto iter = std::find(m_aExtraItems.begin(), m_aExtraItems.end(), pMenuItem);
+ if (iter != m_aExtraItems.end())
+ {
+ m_pTopLevelMenuHelper->remove_from_map(pMenuItem);
+ m_aExtraItems.erase(iter);
+ }
+ }
MenuHelper::remove_item(rIdent);
}