[Libreoffice-commits] core.git: sc/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Tue Nov 19 08:54:19 UTC 2019


 sc/source/ui/app/inputhdl.cxx |   11 +++++++++++
 1 file changed, 11 insertions(+)

New commits:
commit 1aaa229af711fe5deeaaabf22c1e32c3025e1bf5
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Nov 18 20:55:54 2019 +0000
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Tue Nov 19 09:53:35 2019 +0100

    Related: tdf#125917 release mouse grab before showing warning dialog
    
    Type text into the data validity dropdown cell and click elsewhere.
    The warning dialog cannot be interacted with due to the active mouse
    grab to its parent
    
    Change-Id: I51702c828dee6ec88106f7d44d7e3440f2e61298
    Reviewed-on: https://gerrit.libreoffice.org/83128
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index d7b016726c8d..feac54132690 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -2791,8 +2791,19 @@ void ScInputHandler::EnterHandler( ScEnterMode nBlockMode )
             if (!bOk)
             {
                 if ( pActiveViewSh )                // If it came from MouseButtonDown
+                {
                     pActiveViewSh->StopMarking();   // (the InfoBox consumes the MouseButtonUp)
 
+                    // tdf#125917 Release the grab the a current mouse-down event being handled
+                    // by ScTabView has put on the mouse via its SelectionEngine.
+                    // Otherwise the warning box cannot interact with the mouse
+                    if (ScTabView* pView = pActiveViewSh->GetViewData().GetView())
+                    {
+                        if (ScViewSelectionEngine* pSelEngine = pView->GetSelEngine())
+                            pSelEngine->ReleaseMouse();
+                    }
+                }
+
                 vcl::Window* pParent = nullptr;
                 if (pActiveViewSh)
                     pParent = &pActiveViewSh->GetViewFrame()->GetWindow();


More information about the Libreoffice-commits mailing list