diff options
author | Armin Le Grand <Armin.Le.Grand@cib.de> | 2017-05-26 11:49:58 +0200 |
---|---|---|
committer | Armin Le Grand <Armin.Le.Grand@cib.de> | 2017-05-26 14:02:15 +0200 |
commit | 1b27bed2d5b6915cda408c6f8d27d15bf13cc9be (patch) | |
tree | df4fe28b9a0f7f19ee6fe205590c342693fc527a | |
parent | 0b9b36cafe29916a9fdeac420a49c174adb10c59 (diff) |
tdf#106131 no global drag when anchor drag active
If in Writer dragging the anchor is already active
it is not allowed to enter global object drag mode.
This check was missing and may lead to various
inconsistencies
Change-Id: I7d8dd2a62737e6d5d72f69747ceb21bcb73c45ed
Reviewed-on: https://gerrit.libreoffice.org/38059
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
-rw-r--r-- | sw/source/uibase/docvw/edtdd.cxx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sw/source/uibase/docvw/edtdd.cxx b/sw/source/uibase/docvw/edtdd.cxx index a355cefa2ca5..57c1d5457e54 100644 --- a/sw/source/uibase/docvw/edtdd.cxx +++ b/sw/source/uibase/docvw/edtdd.cxx @@ -85,11 +85,17 @@ void SwEditWin::StartDrag( sal_Int8 /*nAction*/, const Point& rPosPixel ) //We are not selecting and aren't at a selection bStart = true; else if ( !g_bFrameDrag && rSh.IsSelFrameMode() && - rSh.IsInsideSelectedObj( aDocPos ) ) + rSh.IsInsideSelectedObj( aDocPos ) && + nullptr == m_pAnchorMarker) { //We are not dragging internally and are not at an //object (frame, draw object) + // #i106131# *and* AnchorDrag is *not* active: When active, + // entering global drag mode will destroy the AnchorHdl but + // keep the now invalid ptr in place, next access will crash. + // It is indeed wrong to enter drag mode when AnchorDrag is + // already active bStart = true; } else if( !g_bFrameDrag && m_rView.GetDocShell()->IsReadOnly() && |