diff options
author | Jim Raykowski <raykowj@gmail.com> | 2020-05-09 23:53:34 -0800 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-05-11 17:15:02 +0200 |
commit | 3951a71777038e635e9747684806678c1c7f6612 (patch) | |
tree | 42b372805fadc5ffb29e3d0242328a7f14fc978e /vcl | |
parent | c0517c6215c78e65af8b20e8c033a75586a794bd (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.cxx | 10 |
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); } |