diff options
author | Eike Rathke <erack@redhat.com> | 2018-08-17 12:22:09 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-08-22 09:33:28 +0200 |
commit | 211e4a9e03ef5f1c7c26617859435285d2699339 (patch) | |
tree | da0aaff2a09276ef7e4ecec3409b963087853f87 | |
parent | 16ee6373bab9056650cf3b7a153e832d8d09fc28 (diff) |
Resolves: tdf#118983 do not expand range if sheet references not affected
Change-Id: Ib207d3723ce1d370a953e652957aaed399affc9c
Reviewed-on: https://gerrit.libreoffice.org/59255
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
(cherry picked from commit da0dc858fc05e7f1d6a60ca61f722044e688d4f8)
Reviewed-on: https://gerrit.libreoffice.org/59272
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | sc/source/core/tool/token.cxx | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx index 089ed5b5f48d..56e21d19625e 100644 --- a/sc/source/core/tool/token.cxx +++ b/sc/source/core/tool/token.cxx @@ -3900,6 +3900,11 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceInName( { ScComplexRefData& rRef = *p->GetDoubleRef(); ScRange aAbs = rRef.toAbs(rPos); + + if (aAbs.aStart.Tab() > rCxt.maRange.aEnd.Tab() || aAbs.aEnd.Tab() < rCxt.maRange.aStart.Tab()) + // Sheet references not affected. + break; + if (rCxt.maRange.In(aAbs)) { // This range is entirely within the shifted region. @@ -3922,10 +3927,6 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceInName( // column range of the reference is not entirely in the deleted column range. break; - if (aAbs.aStart.Tab() > rCxt.maRange.aEnd.Tab() || aAbs.aEnd.Tab() < rCxt.maRange.aStart.Tab()) - // wrong tables - break; - ScRange aDeleted = rCxt.maRange; aDeleted.aStart.IncRow(rCxt.mnRowDelta); aDeleted.aEnd.SetRow(aDeleted.aStart.Row()-rCxt.mnRowDelta-1); @@ -3982,10 +3983,6 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceInName( // row range of the reference is not entirely in the deleted row range. break; - if (aAbs.aStart.Tab() > rCxt.maRange.aEnd.Tab() || aAbs.aEnd.Tab() < rCxt.maRange.aStart.Tab()) - // wrong tables - break; - ScRange aDeleted = rCxt.maRange; aDeleted.aStart.IncCol(rCxt.mnColDelta); aDeleted.aEnd.SetCol(aDeleted.aStart.Col()-rCxt.mnColDelta-1); |