summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2014-07-18 00:45:44 +0200
committerEike Rathke <erack@redhat.com>2014-07-18 00:50:27 +0200
commit4011b74eb7650a0eeb99d3acebb9ef60b0fcaab9 (patch)
treeab5cf10fd252077f7835bdda65e090b45ddb6256
parent380855c3588092dc6d7472afb265c2457b163d10 (diff)
resolved fdo#81294 store correct sheet number during range names update
Change-Id: Ic4c858efa6e7c1a65357ac79f01e6c08f464ae3f
-rw-r--r--sc/source/core/data/table1.cxx18
1 files changed, 12 insertions, 6 deletions
diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx
index daaaf8b4d0ba..88631d59acc2 100644
--- a/sc/source/core/data/table1.cxx
+++ b/sc/source/core/data/table1.cxx
@@ -1591,6 +1591,12 @@ void ScTable::UpdateGrow( const ScRange& rArea, SCCOL nGrowX, SCROW nGrowY )
void ScTable::UpdateInsertTab( sc::RefUpdateInsertTabContext& rCxt )
{
+ // Store the old tab number in sc::UpdatedRangeNames for
+ // ScTokenArray::AdjustReferenceOnInsertedTab() to check with
+ // isNameModified()
+ if (mpRangeName)
+ mpRangeName->UpdateInsertTab(rCxt, nTab);
+
if (nTab >= rCxt.mnInsertPos)
{
nTab += rCxt.mnSheets;
@@ -1598,9 +1604,6 @@ void ScTable::UpdateInsertTab( sc::RefUpdateInsertTabContext& rCxt )
pDBDataNoName->UpdateMoveTab(nTab - 1 ,nTab);
}
- if (mpRangeName)
- mpRangeName->UpdateInsertTab(rCxt, nTab);
-
if (mpCondFormatList)
mpCondFormatList->UpdateInsertTab(rCxt);
@@ -1618,6 +1621,12 @@ void ScTable::UpdateInsertTab( sc::RefUpdateInsertTabContext& rCxt )
void ScTable::UpdateDeleteTab( sc::RefUpdateDeleteTabContext& rCxt )
{
+ // Store the old tab number in sc::UpdatedRangeNames for
+ // ScTokenArray::AdjustReferenceOnDeletedTab() to check with
+ // isNameModified()
+ if (mpRangeName)
+ mpRangeName->UpdateDeleteTab(rCxt, nTab);
+
if (nTab > rCxt.mnDeletePos)
{
nTab -= rCxt.mnSheets;
@@ -1625,9 +1634,6 @@ void ScTable::UpdateDeleteTab( sc::RefUpdateDeleteTabContext& rCxt )
pDBDataNoName->UpdateMoveTab(nTab + 1,nTab);
}
- if (mpRangeName)
- mpRangeName->UpdateDeleteTab(rCxt, nTab);
-
if (mpCondFormatList)
mpCondFormatList->UpdateDeleteTab(rCxt);