summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2024-04-17 14:06:57 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2024-04-22 09:28:31 +0200
commitb684c805a70abd48ba1fda861b74fe2732dc988d (patch)
tree0cee3102f0e24fb653982452c4fc61633a818505
parent3cb9a5ebaa7527efb1dd154be0db34db62c0c8e0 (diff)
tdf#160706 speed up loading conditional formatting rule in XLS
we only need to finalizeImport on the last ExtDxf we loaded, otherwise we end up with an O(n^2) performance problem Change-Id: I566ef43189a1bb7ac7c55e1bccf9445c9cea19b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166179 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 41895d8fb79001f29bdc0d2aac523eac22fd14c5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166100 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
-rw-r--r--sc/source/filter/oox/extlstcontext.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/sc/source/filter/oox/extlstcontext.cxx b/sc/source/filter/oox/extlstcontext.cxx
index 58e4c7931729..d6af04240572 100644
--- a/sc/source/filter/oox/extlstcontext.cxx
+++ b/sc/source/filter/oox/extlstcontext.cxx
@@ -292,7 +292,8 @@ void ExtConditionalFormattingContext::onEndElement()
maModel.eOperator = ScConditionMode::Direct;
}
- getStyles().getExtDxfs().forEachMem( &Dxf::finalizeImport );
+ if (Dxf* pDxf = getStyles().getExtDxfs().get(rStyleIdx).get())
+ pDxf->finalizeImport();
maModel.aStyle = getStyles().createExtDxfStyle(rStyleIdx);
rStyleIdx++;
nFormulaCount = 0;