From 81e4dbe1adf196ee20f1a4bfbc50b54abfc79f4b Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Sun, 26 Oct 2014 14:43:14 -0700 Subject: [PATCH] fdo#85215: Don't adjust references wrt cell position when disabled. Change-Id: Ie1a12cc189bcb66fad59ea9901ac0dc95bb68788 (cherry picked from commit 10fc138307afb4b39baddb0d56eb8e986e5d29ea) Reviewed-on: https://gerrit.libreoffice.org/12106 Reviewed-by: Markus Mohrhard Tested-by: Markus Mohrhard --- sc/source/core/data/table3.cxx | 7 +++++-- sc/source/ui/undo/undosort.cxx | 3 +-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx index ce17bb9..05285d8 100644 --- a/sc/source/core/data/table3.cxx +++ b/sc/source/core/data/table3.cxx @@ -856,8 +856,11 @@ void ScTable::SortReorderByRow( ScAddress aOldPos = rCell.maCell.mpFormula->aPos; ScFormulaCell* pNew = rCell.maCell.mpFormula->Clone( aCellPos, SC_CLONECELL_DEFAULT); - pNew->CopyAllBroadcasters(*rCell.maCell.mpFormula); - pNew->GetCode()->AdjustReferenceOnMovedOrigin(aOldPos, aCellPos); + if (pArray->IsUpdateRefs()) + { + pNew->CopyAllBroadcasters(*rCell.maCell.mpFormula); + pNew->GetCode()->AdjustReferenceOnMovedOrigin(aOldPos, aCellPos); + } sc::CellStoreType::iterator itBlk = rCellStore.push_back(pNew); } diff --git a/sc/source/ui/undo/undosort.cxx b/sc/source/ui/undo/undosort.cxx index 36156fe..4a00707 100644 --- a/sc/source/ui/undo/undosort.cxx +++ b/sc/source/ui/undo/undosort.cxx @@ -46,8 +46,7 @@ void UndoSort::Execute( bool bUndo ) ScUndoUtil::MarkSimpleBlock(pDocShell, maParam.maSortRange); - pDocShell->PostPaint(maParam.maSortRange, PAINT_GRID); - pDocShell->PostDataChanged(); + rDoc.SetDirty(maParam.maSortRange); if (!aParam.mbUpdateRefs) rDoc.BroadcastCells(aParam.maSortRange, SC_HINT_DATACHANGED); } -- 1.9.3