summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2017-02-09 16:54:43 +0100
committerEike Rathke <erack@redhat.com>2017-02-09 16:58:51 +0100
commit6e1efe7b6bd16e3183cdb7c87d786cb714a61959 (patch)
treef7cf12e7e83ff942bced90cd46f81f939dbdf7cc
parent12ecbe796218dd1b1a3e951e6cbc532ff41be6bc (diff)
preserve 3D flag if sheet reference is absolute, tdf#103890 follow-up
A reference like $Sheet1.A1 should have the 3D flag preserved when moving around, otherwise the absolute flag is still there but invisible when moving within or onto Sheet1. Change-Id: I937091535bc37d0bdbffb786472d7eae2f931df0
-rw-r--r--sc/source/core/tool/token.cxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index d8c1033e0398..02f8a041480c 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -3151,7 +3151,7 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceOnMove(
}
rRef.SetAddress(aAbs, rNewPos);
- rRef.SetFlag3D(aAbs.Tab() != rNewPos.Tab());
+ rRef.SetFlag3D(aAbs.Tab() != rNewPos.Tab() || !rRef.IsTabRel());
}
break;
case svDoubleRef:
@@ -3167,7 +3167,7 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceOnMove(
}
rRef.SetRange(aAbs, rNewPos);
- rRef.Ref1.SetFlag3D(aAbs.aStart.Tab() != rNewPos.Tab());
+ rRef.Ref1.SetFlag3D(aAbs.aStart.Tab() != rNewPos.Tab() || !rRef.Ref1.IsTabRel());
}
break;
case svExternalSingleRef: