summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2018-05-24 13:54:23 +0200
committerMichael Meeks <michael.meeks@collabora.com>2018-05-24 17:53:56 +0200
commit8f7eb6edfa5cc561d52060f44128d4c0e5d439bf (patch)
treed761ec774bcf5b0bb117678e43eaa57b9d9e8610
parente87cc12eaf53efa9b221eae7167ea15bc7896752 (diff)
avoid CELLTYPE_EDIT for calc's threaded calculations
Since ScEditUtils::GetString() requires EditEngine, which is probably not completely thread-safe. Change-Id: Ie3d64f56b76a5861fa4b0a1f9cb683cd26806b35 Reviewed-on: https://gerrit.libreoffice.org/54766 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
-rw-r--r--sc/source/core/data/column2.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx
index ba3896ddcc35..0a62cb10506d 100644
--- a/sc/source/core/data/column2.cxx
+++ b/sc/source/core/data/column2.cxx
@@ -2823,6 +2823,9 @@ bool ScColumn::HandleRefArrayForParallelism( SCROW nRow1, SCROW nRow2 )
auto aCell = GetCellValue(i);
if (aCell.meType == CELLTYPE_FORMULA)
aCell.mpFormula->MaybeInterpret();
+ // These require EditEngine (in ScEditUtils::GetString()), which is probably too complex for use in threads.
+ if (aCell.meType == CELLTYPE_EDIT)
+ return false;
}
return true;