sc/source/ui/view/tabview3.cxx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
New commits: commit b0dd584efde8b9d75fb822a4ff63e96ca36b42c1 Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Tue Jan 14 11:50:53 2014 -0500 fdo#73606: Avoid calling MarkDataChanged() when nothing is selected. MarkDataChanged() is quite expensive & in theory unnecessary when no selection is present. Change-Id: I6967b914735462403a77568010532b37a1d8f333 (cherry picked from commit 31533d47b24680f76e769949874d41f0fe27134f) Reviewed-on: https://gerrit.libreoffice.org/7426 Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com> Tested-by: Markus Mohrhard <markus.mohrh...@googlemail.com> diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx index 9553184..5c6784f 100644 --- a/sc/source/ui/view/tabview3.cxx +++ b/sc/source/ui/view/tabview3.cxx @@ -1024,9 +1024,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() ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits