diff options
author | Eike Rathke <erack@redhat.com> | 2017-02-09 16:54:43 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2017-02-09 16:58:51 +0100 |
commit | 6e1efe7b6bd16e3183cdb7c87d786cb714a61959 (patch) | |
tree | f7cf12e7e83ff942bced90cd46f81f939dbdf7cc /sc/source | |
parent | 12ecbe796218dd1b1a3e951e6cbc532ff41be6bc (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
Diffstat (limited to 'sc/source')
-rw-r--r-- | sc/source/core/tool/token.cxx | 4 |
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: |