summaryrefslogtreecommitdiff
path: root/sc/source/core/tool/token.cxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2017-02-08 21:43:01 -0500
committerKohei Yoshida <libreoffice@kohei.us>2017-02-09 14:05:27 +0000
commitbf8d4fb60da5e583b3a90639af45b901e19cb5aa (patch)
treeb1edf54b2c354dbc8f02f368871384275c6511a7 /sc/source/core/tool/token.cxx
parentc37a53315bf4517eb9170a2f8a9fdaa0648525f7 (diff)
tdf#103890: Fix the logic on setting 3D flag on reference.
I believe the old logic (which I had put in place) is incorrect. We show the sheet name only when the reference address is on another sheet, and we do evaluate on a per-reference basis. Change-Id: Id9e51918233eda3b72b95b89a9fcced21eb9ef93 Reviewed-on: https://gerrit.libreoffice.org/34049 Reviewed-by: Kohei Yoshida <libreoffice@kohei.us> Tested-by: Kohei Yoshida <libreoffice@kohei.us>
Diffstat (limited to 'sc/source/core/tool/token.cxx')
-rw-r--r--sc/source/core/tool/token.cxx8
1 files changed, 2 insertions, 6 deletions
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index 56531e3c7c89..d8c1033e0398 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -3125,8 +3125,6 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceOnMove(
assert(!"can't move");
}
- bool b3DFlag = rOldPos.Tab() != rNewPos.Tab() || rCxt.mnTabDelta;
-
TokenPointers aPtrs( pCode, nLen, pRPN, nRPN);
for (size_t j=0; j<2; ++j)
{
@@ -3153,8 +3151,7 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceOnMove(
}
rRef.SetAddress(aAbs, rNewPos);
- if (b3DFlag)
- rRef.SetFlag3D(b3DFlag);
+ rRef.SetFlag3D(aAbs.Tab() != rNewPos.Tab());
}
break;
case svDoubleRef:
@@ -3170,8 +3167,7 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceOnMove(
}
rRef.SetRange(aAbs, rNewPos);
- if (b3DFlag)
- rRef.Ref1.SetFlag3D(true);
+ rRef.Ref1.SetFlag3D(aAbs.aStart.Tab() != rNewPos.Tab());
}
break;
case svExternalSingleRef: