summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-03-15 22:22:10 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-03-15 22:26:22 +0100
commit2118ec3630fe12ff2a663c94421780870f264e83 (patch)
tree7223d249a1ebc77d6be298b0c5cbe360851072c4 /sc/source
parentbd43abc94d30332d06fad7964bd01dc5f70c22e7 (diff)
update the relatice refs after the absolute refs, fdo#47285
The algoithm for updating absolute refs needs to calculate the old position based on the information before any updates to the RefData
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/core/data/cell.cxx6
1 files changed, 3 insertions, 3 deletions
diff --git a/sc/source/core/data/cell.cxx b/sc/source/core/data/cell.cxx
index 6d5baafed21d..f191c5db6adf 100644
--- a/sc/source/core/data/cell.cxx
+++ b/sc/source/core/data/cell.cxx
@@ -788,9 +788,6 @@ ScFormulaCell::ScFormulaCell( const ScFormulaCell& rCell, ScDocument& rDoc, cons
{
pCode = rCell.pCode->Clone();
- if ( nCloneFlags & SC_CLONECELL_ADJUST3DREL )
- pCode->ReadjustRelative3DReferences( rCell.aPos, aPos );
-
// evtl. Fehler zuruecksetzen und neu kompilieren
// nicht im Clipboard - da muss das Fehlerflag erhalten bleiben
// Spezialfall Laenge=0: als Fehlerzelle erzeugt, dann auch Fehler behalten
@@ -827,6 +824,9 @@ ScFormulaCell::ScFormulaCell( const ScFormulaCell& rCell, ScDocument& rDoc, cons
pCode->AdjustAbsoluteRefs( rCell.pDocument, rCell.aPos, aPos );
}
+ if ( nCloneFlags & SC_CLONECELL_ADJUST3DREL )
+ pCode->ReadjustRelative3DReferences( rCell.aPos, aPos );
+
if( !bCompile )
{ // Name references with references and ColRowNames
pCode->Reset();