summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2017-04-10 23:05:09 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2017-04-11 01:55:43 +0200
commitcb57a432ba98ffe197c8fd2528e4b363c3285cc4 (patch)
treee595cd80de36b0142273f1fa2ccbb02adcf148ab
parent27fa45eab406ba50ad21d4668dd9df38a26c9095 (diff)
call UpdateReference also for single cell copying, tdf#105245
Change-Id: I5fed22d2835466cbd07f8dbd917e9f881b7b2832 Reviewed-on: https://gerrit.libreoffice.org/36393 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-rw-r--r--sc/source/core/data/document10.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/sc/source/core/data/document10.cxx b/sc/source/core/data/document10.cxx
index 896499995388..bae227dbb3a0 100644
--- a/sc/source/core/data/document10.cxx
+++ b/sc/source/core/data/document10.cxx
@@ -125,6 +125,25 @@ bool ScDocument::CopyOneCellFromClip(
maTabs[i]->CopyOneCellFromClip(rCxt, nCol1, nRow1, nCol2, nRow2, aClipRange.aStart.Row(), pSrcTab);
}
+ sc::RefUpdateContext aRefCxt(*this);
+ aRefCxt.maRange = ScRange(nCol1, nRow1, rCxt.getTabStart(), nCol2, nRow2, nTabEnd);
+ aRefCxt.mnColDelta = nCol1 - aSrcPos.Col();
+ aRefCxt.mnRowDelta = nRow1 - aSrcPos.Row();
+ aRefCxt.mnTabDelta = rCxt.getTabStart() - aSrcPos.Tab();
+ if (rCxt.getClipDoc()->GetClipParam().mbCutMode)
+ {
+ if (rCxt.getClipDoc()->GetPool() == GetPool())
+ {
+ aRefCxt.meMode = URM_MOVE;
+ UpdateReference(aRefCxt, rCxt.getUndoDoc(), false);
+ }
+ }
+ else
+ {
+ aRefCxt.meMode = URM_COPY;
+ UpdateReference(aRefCxt, rCxt.getUndoDoc(), false);
+ }
+
return true;
}