diff options
author | Eike Rathke <erack@redhat.com> | 2016-03-25 21:36:00 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2016-03-25 22:15:03 +0100 |
commit | 0189bfe9828c3f52cd72cf2f9da22d110e08c327 (patch) | |
tree | 83aa3c2f48d10e11d8eea8f53a471822afbfbf95 | |
parent | 007b317fef91aa809deff8380a9e62c350eaf511 (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.cxx | 5 |
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 |