summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-11-17 22:13:19 +0100
committerEike Rathke <erack@redhat.com>2016-11-17 22:13:31 +0100
commit4665be3af48587505bb7f49a53e8422945ec49eb (patch)
treee365a3003fb077f7ef8d440f4bde085cc86ca066
parent8aec9057a169acfda6f2d986af93edca54677fd2 (diff)
Resolves: tdf#103994 AdjustReferenceOnMove: handle external references
Change-Id: I8b104b0c843dd268d8760a2a73cdd3e672e6efd6
-rw-r--r--sc/source/core/tool/token.cxx14
1 files changed, 14 insertions, 0 deletions
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index 2f6354efb07a..53f4dc49756c 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -3172,6 +3172,20 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceOnMove(
rRef.Ref1.SetFlag3D(true);
}
break;
+ case svExternalSingleRef:
+ {
+ ScSingleRefData& rRef = *p->GetSingleRef();
+ ScAddress aAbs = rRef.toAbs(rOldPos);
+ rRef.SetAddress(aAbs, rNewPos);
+ }
+ break;
+ case svExternalDoubleRef:
+ {
+ ScComplexRefData& rRef = *p->GetDoubleRef();
+ ScRange aAbs = rRef.toAbs(rOldPos);
+ rRef.SetRange(aAbs, rNewPos);
+ }
+ break;
default:
;
}