summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-12-09 14:09:28 +0000
committerCaolán McNamara <caolanm@redhat.com>2021-12-09 18:15:47 +0100
commitdc1589f0859d5219d6f3f67748f0f0ec9af48790 (patch)
treea8ee267d986b9f24592f4faa3ec0205bb309e08e /sc
parent681e10eecf67a1a01bdec2cc9b834e0345e25206 (diff)
flush pending menu close on queuing close of another
Change-Id: If57442e24336d855249413fc58587b776e251f66 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126614 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sc')
-rw-r--r--sc/source/ui/cctrl/checklistmenu.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/sc/source/ui/cctrl/checklistmenu.cxx b/sc/source/ui/cctrl/checklistmenu.cxx
index 7c64970e0959..a4d7fbfc5fb8 100644
--- a/sc/source/ui/cctrl/checklistmenu.cxx
+++ b/sc/source/ui/cctrl/checklistmenu.cxx
@@ -281,6 +281,12 @@ void ScCheckListMenuControl::queueCloseSubMenu()
// Stop any submenu on queue for opening.
maOpenTimer.maTimer.Stop();
+ // Flush any pending close so it doesn't get skipped
+ if (maCloseTimer.mpSubMenu)
+ {
+ maCloseTimer.mpSubMenu->EndPopupMode();
+ }
+
maCloseTimer.mpSubMenu = maOpenTimer.mpSubMenu;
maCloseTimer.mnMenuPos = maOpenTimer.mnMenuPos;
maCloseTimer.maTimer.Start();