sc/source/ui/cctrl/checklistmenu.cxx |    6 ++++++
 1 file changed, 6 insertions(+)

New commits:
commit dc1589f0859d5219d6f3f67748f0f0ec9af48790
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Thu Dec 9 14:09:28 2021 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Thu Dec 9 18:15:47 2021 +0100

    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 <caol...@redhat.com>

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();

Reply via email to