[Libreoffice-commits] core.git: Branch 'libreoffice-6-3' - sc/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Wed Nov 20 11:09:30 UTC 2019


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

New commits:
commit 7f274c09e57af3b8e266e9b1a3a78c9f10de5e09
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Nov 18 20:55:54 2019 +0000
Commit:     Xisco Faulí <xiscofauli at libreoffice.org>
CommitDate: Wed Nov 20 12:08: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/83164
    Tested-by: Jenkins
    Reviewed-by: Xisco Faulí <xiscofauli at libreoffice.org>

diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index eb8142a913cf..ecbdfafbe1d3 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -2658,8 +2658,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