summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-10-07 16:52:11 +0100
committerCaolán McNamara <caolanm@redhat.com>2014-10-07 16:55:08 +0100
commit4b7b013491ddf78b4555e17e89b95f085e2fb34f (patch)
treeb15527fe35f9dfd6ec182cabd9e51d9193ee7460 /sd
parent63e6cbc3180047000787a9071513152fdd9ce942 (diff)
Resolves: fdo#44998 crash when opening context menu of a field
If you right click on a field in an inactive text box, then a mouse down, context command, mouse up sequence is sent. The mouse up is supposed to be captured by the context menu here. But it doesn't because the mouse down in draw sends an artificial mouse down to the editengine which eventually sets up a MouseCapture window so the context menu doesn't get considered (because it occurs before the capture window is released) so the mouse up gets send to sd while the context menu is up and that causes all sorts of havoc. Change-Id: If3b7c501586f8561be484d0828c630d84644f770
Diffstat (limited to 'sd')
-rw-r--r--sd/source/ui/view/drviews4.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/sd/source/ui/view/drviews4.cxx b/sd/source/ui/view/drviews4.cxx
index dbe9323a7f33..e92efea8be57 100644
--- a/sd/source/ui/view/drviews4.cxx
+++ b/sd/source/ui/view/drviews4.cxx
@@ -541,6 +541,9 @@ void DrawViewShell::Command(const CommandEvent& rCEvt, ::sd::Window* pWin)
eLanguage = pOLV->GetOutliner()->GetLanguage( aSelection.nStartPara, aSelection.nStartPos );
}
+ //fdo#44998 if the outliner has captured the mouse events release the lock
+ //so the SdFieldPopup can get them
+ pOLV->ReleaseMouse();
SdFieldPopup aFieldPopup( pFldItem->GetField(), eLanguage );
if ( rCEvt.IsMouseEvent() )