diff options
author | Eike Rathke <erack@redhat.com> | 2014-07-18 00:45:44 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-07-21 08:15:40 +0000 |
commit | 7477e87a1baaddf50f332c152568620e3ce32184 (patch) | |
tree | 4e85d3a335c07545404f9289ed037145a5731d2b | |
parent | b0dae2115364ae1644203c046765f10ccfe9a8ac (diff) |
resolved fdo#81294 store correct sheet number during range names update
Change-Id: Ic4c858efa6e7c1a65357ac79f01e6c08f464ae3f
(cherry picked from commit 4011b74eb7650a0eeb99d3acebb9ef60b0fcaab9)
Reviewed-on: https://gerrit.libreoffice.org/10377
Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | sc/source/core/data/table1.cxx | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx index e0eb3eb8ef62..834dfe1cfc65 100644 --- a/sc/source/core/data/table1.cxx +++ b/sc/source/core/data/table1.cxx @@ -1603,6 +1603,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; @@ -1610,9 +1616,6 @@ void ScTable::UpdateInsertTab( sc::RefUpdateInsertTabContext& rCxt ) pDBDataNoName->UpdateMoveTab(nTab - 1 ,nTab); } - if (mpRangeName) - mpRangeName->UpdateInsertTab(rCxt, nTab); - if (mpCondFormatList) mpCondFormatList->UpdateInsertTab(rCxt); @@ -1624,6 +1627,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; @@ -1631,9 +1640,6 @@ void ScTable::UpdateDeleteTab( sc::RefUpdateDeleteTabContext& rCxt ) pDBDataNoName->UpdateMoveTab(nTab + 1,nTab); } - if (mpRangeName) - mpRangeName->UpdateDeleteTab(rCxt, nTab); - if (mpCondFormatList) mpCondFormatList->UpdateDeleteTab(rCxt); |