diff options
author | Luboš Luňák <l.lunak@collabora.com> | 2020-06-04 18:39:54 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@collabora.com> | 2020-06-09 09:49:19 +0200 |
commit | a97539174fd7f76713291dd4e8138adb1f776c91 (patch) | |
tree | 77c60c0297f42b8ce25c8be50a7094eb5db56ca2 /sc/source/core/data/documen2.cxx | |
parent | 49df367a5da14b31729e2f4f5dd6bf4e249df8d3 (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.cxx | 3 |
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 ) |