summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2014-05-16 23:06:33 -0400
committerKohei Yoshida <kohei.yoshida@collabora.com>2014-05-16 23:08:48 -0400
commitbc7e0967be52f5eb7948fbb1c30edc7dd5acc18d (patch)
treebf316a67aac8f4b1857bd781e1b771b978a81044
parent30cc43a56d63ba9ffd588ebc589e3576483d7141 (diff)
fdo#77735: Don't proceed when all cells in the range are empty.
That means there is nothing to delete, and proceeding would cause Calc to freeze. Change-Id: I2a8fb5736870ba459082873c8f864283d8b9c664
-rw-r--r--sc/source/core/data/column4.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/sc/source/core/data/column4.cxx b/sc/source/core/data/column4.cxx
index c5465c640a85..4acb374bb673 100644
--- a/sc/source/core/data/column4.cxx
+++ b/sc/source/core/data/column4.cxx
@@ -59,6 +59,10 @@ void ScColumn::DeleteBeforeCopyFromClip( sc::CopyFromClipContext& rCxt, const Sc
sc::SingleColumnSpanSet::SpansType aSpans;
aSpanSet.getSpans(aSpans);
+ if (aSpans.empty())
+ // All cells in the range in the clip are empty. Nothing to delete.
+ return;
+
// Translate the clip column spans into the destination column, and repeat as needed.
std::vector<sc::RowSpan> aDestSpans;
SCROW nDestOffset = aRange.mnRow1 - nClipRow1;