Kaydet (Commit) da0dc858 authored tarafından Eike Rathke's avatar Eike Rathke

Resolves: tdf#118983 do not expand range if sheet references not affected

Change-Id: Ib207d3723ce1d370a953e652957aaed399affc9c
Reviewed-on: https://gerrit.libreoffice.org/59255Reviewed-by: 's avatarEike Rathke <erack@redhat.com>
Tested-by: 's avatarEike Rathke <erack@redhat.com>
üst a0d9200f
...@@ -3840,6 +3840,11 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceInName( ...@@ -3840,6 +3840,11 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceInName(
{ {
ScComplexRefData& rRef = *p->GetDoubleRef(); ScComplexRefData& rRef = *p->GetDoubleRef();
ScRange aAbs = rRef.toAbs(rPos); 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)) if (rCxt.maRange.In(aAbs))
{ {
// This range is entirely within the shifted region. // This range is entirely within the shifted region.
...@@ -3862,10 +3867,6 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceInName( ...@@ -3862,10 +3867,6 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceInName(
// column range of the reference is not entirely in the deleted column range. // column range of the reference is not entirely in the deleted column range.
break; break;
if (aAbs.aStart.Tab() > rCxt.maRange.aEnd.Tab() || aAbs.aEnd.Tab() < rCxt.maRange.aStart.Tab())
// wrong tables
break;
ScRange aDeleted = rCxt.maRange; ScRange aDeleted = rCxt.maRange;
aDeleted.aStart.IncRow(rCxt.mnRowDelta); aDeleted.aStart.IncRow(rCxt.mnRowDelta);
aDeleted.aEnd.SetRow(aDeleted.aStart.Row()-rCxt.mnRowDelta-1); aDeleted.aEnd.SetRow(aDeleted.aStart.Row()-rCxt.mnRowDelta-1);
...@@ -3922,10 +3923,6 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceInName( ...@@ -3922,10 +3923,6 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceInName(
// row range of the reference is not entirely in the deleted row range. // row range of the reference is not entirely in the deleted row range.
break; break;
if (aAbs.aStart.Tab() > rCxt.maRange.aEnd.Tab() || aAbs.aEnd.Tab() < rCxt.maRange.aStart.Tab())
// wrong tables
break;
ScRange aDeleted = rCxt.maRange; ScRange aDeleted = rCxt.maRange;
aDeleted.aStart.IncCol(rCxt.mnColDelta); aDeleted.aStart.IncCol(rCxt.mnColDelta);
aDeleted.aEnd.SetCol(aDeleted.aStart.Col()-rCxt.mnColDelta-1); aDeleted.aEnd.SetCol(aDeleted.aStart.Col()-rCxt.mnColDelta-1);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment