summaryrefslogtreecommitdiff
path: root/sc/source/core/data/documen2.cxx
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2020-06-04 18:39:54 +0200
committerLuboš Luňák <l.lunak@collabora.com>2020-06-09 09:49:19 +0200
commita97539174fd7f76713291dd4e8138adb1f776c91 (patch)
tree77c60c0297f42b8ce25c8be50a7094eb5db56ca2 /sc/source/core/data/documen2.cxx
parent49df367a5da14b31729e2f4f5dd6bf4e249df8d3 (diff)
delay and batch calls to StartListeningFormulaCells() (tdf#133302)
In the testcase ScColumn::StartListeningUnshared() gets called repeatedly with almost the same cells range (just extending), so this gets quadratic. Delaying and doing it once on the whole range at the end avoids this. Change-Id: I3e92817d434cf7e4be0ea658f9adc0a24ceda260 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95531 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'sc/source/core/data/documen2.cxx')
-rw-r--r--sc/source/core/data/documen2.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/sc/source/core/data/documen2.cxx b/sc/source/core/data/documen2.cxx
index afacfecc4640..d80e15dd1c34 100644
--- a/sc/source/core/data/documen2.cxx
+++ b/sc/source/core/data/documen2.cxx
@@ -398,6 +398,9 @@ ScDocument::~ScDocument()
if(mpCellStringPool.use_count() > 1)
mpCellStringPool->purge();
mpCellStringPool.reset();
+
+ assert( pDelayedFormulaGrouping == nullptr );
+ assert( pDelayedStartListeningFormulaCells.empty());
}
void ScDocument::InitClipPtrs( ScDocument* pSourceDoc )