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

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


 sc/source/ui/view/gridwin.cxx |    9 +++++++++
 1 file changed, 9 insertions(+)

New commits:
commit 7afb8a874aa71c8cf2fcba930ac6d5680070f18a
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Nov 18 21:28:22 2019 +0000
Commit:     Xisco Faulí <xiscofauli at libreoffice.org>
CommitDate: Wed Nov 20 12:08:13 2019 +0100

    tdf#125917 Ensure mouse is captured before the menu is launched
    
    calc seems to excessively capture the mouse and grabs + floats are messy across
    the different ports. But We usually have the mouse captured before calling the
    menu, except if we are editing a cell, an additional capture here will ensure
    the grab status is the same in both modes and that events go to the same place
    in either case.
    
    Change-Id: I213560273be1a6a398d6a1787a53d64501c473f0
    Reviewed-on: https://gerrit.libreoffice.org/83166
    Tested-by: Jenkins
    Reviewed-by: Xisco Faulí <xiscofauli at libreoffice.org>

diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 3e13352820af..f26f3c77e1cc 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -1774,6 +1774,10 @@ void ScGridWindow::HandleMouseButtonDown( const MouseEvent& rMEvt, MouseEventSta
             tools::Rectangle aButtonRect = GetListValButtonRect( aListValPos );
             if ( aButtonRect.IsInside( aPos ) )
             {
+                // tdf#125917 typically we have the mouse captured already, except if are editing the cell.
+                // Ensure its captured before the menu is launched even in the cell editing case
+                CaptureMouse();
+
                 LaunchDataSelectMenu( aListValPos.Col(), aListValPos.Row() );
 
                 nMouseStatus = SC_GM_FILTER;    // not set in DoAutoFilterMenue for bDataSelect
commit 3244ea03fa7e84d218a4182afb8a78a50c6479a1
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Nov 18 12:28:01 2019 +0000
Commit:     Xisco Faulí <xiscofauli at libreoffice.org>
CommitDate: Wed Nov 20 12:07:59 2019 +0100

    Related: tdf#125917 remove active editing when we want to replace contents
    
    this addresses comment #6 so that the chosen value is entered in the cell
    
    Change-Id: I3b45301e00b2f79038e88c926f15babd49dcc2bf
    Reviewed-on: https://gerrit.libreoffice.org/83168
    Tested-by: Jenkins
    Reviewed-by: Xisco Faulí <xiscofauli at libreoffice.org>

diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index e2b1815141ec..3e13352820af 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -1248,6 +1248,11 @@ void ScGridWindow::FilterSelect( sal_uLong nSel )
 
 void ScGridWindow::ExecDataSelect( SCCOL nCol, SCROW nRow, const OUString& rStr )
 {
+    ScModule* pScMod = SC_MOD();
+    ScInputHandler* pViewHdl = pScMod->GetInputHdl(pViewData->GetViewShell());
+    if (pViewHdl && pViewData->HasEditView(pViewData->GetActivePart()))
+        pViewHdl->CancelHandler();
+
     SCTAB nTab = pViewData->GetTabNo();
     ScViewFunc* pView = pViewData->GetView();
     pView->EnterData( nCol, nRow, nTab, rStr );


More information about the Libreoffice-commits mailing list