diff options
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/ui/view/tabview3.cxx | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx index 5e591ef23cef..bee68c7afe1b 100644 --- a/sc/source/ui/view/tabview3.cxx +++ b/sc/source/ui/view/tabview3.cxx @@ -1028,9 +1028,15 @@ void ScTabView::MoveCursorAbs( SCsCOL nCurX, SCsROW nCurY, ScFollowMode eMode, if (!bShift) { // Remove all marked data on cursor movement unless the Shift is locked. - ScMarkData aData(aViewData.GetMarkData()); - aData.ResetMark(); - SetMarkData(aData); + ScMarkData& rMark = aViewData.GetMarkData(); + bool bMarked = rMark.IsMarked() || rMark.IsMultiMarked(); + if (bMarked) + { + rMark.ResetMark(); + DoneBlockMode(); + InitOwnBlockMode(); + MarkDataChanged(); + } } bool bSame = ( nCurX == aViewData.GetCurX() && nCurY == aViewData.GetCurY() ); |