[Libreoffice-commits] core.git: Branch 'libreoffice-6-4' - 2 commits - sc/source
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Tue Nov 19 10:29:51 UTC 2019
sc/source/ui/app/inputhdl.cxx | 11 +++++++++++
sc/source/ui/view/gridwin.cxx | 4 ++++
2 files changed, 15 insertions(+)
New commits:
commit c7de5aedb130098a5abd127e86e3570db0b3df63
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 11:29:26 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/83163
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 7556ef49d1ac..6f064ba50269 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();
commit d0ec90df4bdc8a59cd6461ec07de9e58222dd33b
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Nov 18 21:28:22 2019 +0000
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Tue Nov 19 11:29:12 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/83165
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/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index c286b7b5d173..c3618dbe99da 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -1754,6 +1754,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
More information about the Libreoffice-commits
mailing list