diff options
author | Kohei Yoshida <kohei.yoshida@collabora.com> | 2014-07-29 22:33:56 -0400 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2014-07-30 08:13:21 +0000 |
commit | a1f8f6055590330ed36fdae9d9a520d053b80923 (patch) | |
tree | 1061ab8f5ec47943f232734b0faabc1836ab084f | |
parent | e7c94a5ad8df0873cf7272206c7c0ae123a1e034 (diff) |
fdo#81330: When moving to a different sheet, set 3D flag on.
Change-Id: I16c6e687259635c4d0ac0e5dab0140941b409bc8
(cherry picked from commit 5e55d5ffb70437e917e4092f4030d5a454fd20d6)
Reviewed-on: https://gerrit.libreoffice.org/10636
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-rw-r--r-- | sc/source/core/tool/token.cxx | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx index f37f558944a1..a036c5b968f3 100644 --- a/sc/source/core/tool/token.cxx +++ b/sc/source/core/tool/token.cxx @@ -2837,6 +2837,8 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceOnMove( ScRange aOldRange = rCxt.maRange; aOldRange.Move(-rCxt.mnColDelta, -rCxt.mnRowDelta, -rCxt.mnTabDelta); + bool b3DFlag = rOldPos.Tab() != rNewPos.Tab(); + FormulaToken** p = pCode; FormulaToken** pEnd = p + static_cast<size_t>(nLen); for (; p != pEnd; ++p) @@ -2855,6 +2857,7 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceOnMove( } rRef.SetAddress(aAbs, rNewPos); + rRef.SetFlag3D(b3DFlag); } break; case svDoubleRef: @@ -2869,6 +2872,8 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceOnMove( } rRef.SetRange(aAbs, rNewPos); + if (b3DFlag) + rRef.Ref1.SetFlag3D(true); } break; case svIndex: |