summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2024-04-17 14:06:57 +0200
committerCaolán McNamara <caolan.mcnamara@collabora.com>2024-05-07 10:08:06 +0200
commitca46dfb93b802ed4ee3210d0abc80ca37934a9e6 (patch)
treeceed572f8dccc3e85f2d98d1b7206e3c06de8839
parent00c790b36b48732a80b56d0b33c765abc53cf624 (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> (cherry picked from commit b684c805a70abd48ba1fda861b74fe2732dc988d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166899
-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;