diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-04-17 14:06:57 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-04-22 09:28:31 +0200 |
commit | b684c805a70abd48ba1fda861b74fe2732dc988d (patch) | |
tree | 0cee3102f0e24fb653982452c4fc61633a818505 | |
parent | 3cb9a5ebaa7527efb1dd154be0db34db62c0c8e0 (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.cxx | 3 |
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; |