summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-11-18 21:28:22 +0000
committerXisco Faulí <xiscofauli@libreoffice.org>2019-11-20 12:08:13 +0100
commit7afb8a874aa71c8cf2fcba930ac6d5680070f18a (patch)
tree8c6acc6d826d5d179e496fe309427a7694a0862e
parent3244ea03fa7e84d218a4182afb8a78a50c6479a1 (diff)
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@libreoffice.org>
-rw-r--r--sc/source/ui/view/gridwin.cxx4
1 files changed, 4 insertions, 0 deletions
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