summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2014-07-11 23:15:50 +0200
committerKohei Yoshida <libreoffice@kohei.us>2014-07-14 13:40:00 +0000
commit7aa2b94ac57b7c99e1e45d5f652a423ee603dd55 (patch)
treea707aeb773eef2e2bea550d4a05501b938a9c3c7
parentcaf35a3ab2fa19134a900dcfd2dcc86936e435a5 (diff)
resolved fdo#77018 keep external references intact during sort
Needs e463de2a56453a0d2cb0b5b58e96f7639f37cdd1 fix for fdo#79441 to work. Change-Id: Ide1cbeb4b25b17b5102977ccbdf8e6dbfcadfc60 (cherry picked from commit db0a4c2575ffba1c170d74882b0f5a6229ec072f) Reviewed-on: https://gerrit.libreoffice.org/10243 Reviewed-by: Kohei Yoshida <libreoffice@kohei.us> Tested-by: Kohei Yoshida <libreoffice@kohei.us>
-rw-r--r--sc/source/core/tool/token.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index 4ac537f45155..87388778ee69 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -529,6 +529,9 @@ bool ScToken::Is3DRef() const
if ( GetSingleRef().IsFlag3D() )
return true;
break;
+ case svExternalSingleRef:
+ case svExternalDoubleRef:
+ return true;
default:
{
// added to avoid warnings
@@ -2261,6 +2264,20 @@ void ScTokenArray::ReadjustRelative3DReferences( const ScAddress& rOldPos,
}
}
break;
+ case svExternalDoubleRef :
+ {
+ ScSingleRefData& rRef2 = static_cast<ScToken*>(pCode[j])->GetSingleRef2();
+ ScAddress aAbs = rRef2.toAbs(rOldPos);
+ rRef2.SetAddress(aAbs, rNewPos);
+ }
+ //! fallthru
+ case svExternalSingleRef :
+ {
+ ScSingleRefData& rRef1 = static_cast<ScToken*>(pCode[j])->GetSingleRef();
+ ScAddress aAbs = rRef1.toAbs(rOldPos);
+ rRef1.SetAddress(aAbs, rNewPos);
+ }
+ break;
default:
{
// added to avoid warnings