summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-03-25 21:36:00 +0100
committerEike Rathke <erack@redhat.com>2016-03-25 22:15:03 +0100
commit0189bfe9828c3f52cd72cf2f9da22d110e08c327 (patch)
tree83aa3c2f48d10e11d8eea8f53a471822afbfbf95
parent007b317fef91aa809deff8380a9e62c350eaf511 (diff)
sheet-local names' references of original sheet are updated later
... in contrast to global names that are already updated before content is copied. So don't modify the token's original sheet number before adjusting the copied sheet-local names' references. Change-Id: I3edfb53370a5e8811d7301af95238a865ff38f0c
-rw-r--r--sc/source/core/data/formulacell.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx
index 1939f218c676..a8f829195e1c 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -485,12 +485,13 @@ void adjustRangeName(formula::FormulaToken* pToken, ScDocument& rNewDoc, const S
// Search the name of the RangeName.
if (nOldSheet >= 0)
{
+ SCTAB nOldTab = nOldSheet;
// XXX bGlobalNamesToLocal is also a synonym for copied sheet.
if (bGlobalNamesToLocal && bSameDoc && rNewPos.Tab() <= rOldPos.Tab())
// Sheet was already inserted before old position.
- ++nOldSheet;
+ ++nOldTab;
- const ScRangeName* pRangeName = pOldDoc->GetRangeName(nOldSheet);
+ const ScRangeName* pRangeName = pOldDoc->GetRangeName(nOldTab);
pOldRangeData = pRangeName ? pRangeName->findByIndex(nOldIndex) : nullptr;
if (!pOldRangeData)
return; // might be an error in the formula array