diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-09-08 09:37:45 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-09-08 10:53:46 +0200 |
commit | 18d6373d3ae767d3f06d53acd3b1f88f008c4bf4 (patch) | |
tree | 5f9684222a7e649e6913892721c52f271ccc2c96 /svx/source/table | |
parent | 9b73d3e8926d5f9b10464d19b539eef3eb088f50 (diff) |
reduce cost of creating large charts (tdf#144052)
creating a temporary SfxItemSet for each geometry object adds up fast,
so only create the temporary for those SdrTextObj subclasses that need
it.
Change-Id: I0c03a630057718f09c12a4a2d07ad23fca46fd2d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121800
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx/source/table')
-rw-r--r-- | svx/source/table/cell.cxx | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/svx/source/table/cell.cxx b/svx/source/table/cell.cxx index 1b1d74a52516..427977d591e6 100644 --- a/svx/source/table/cell.cxx +++ b/svx/source/table/cell.cxx @@ -166,7 +166,7 @@ namespace sdr::properties void ForceDefaultAttributes() override; - void ItemSetChanged(const SfxItemSet& rSet) override; + void ItemSetChanged(const SfxItemSet*) override; void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = nullptr) override; @@ -222,7 +222,7 @@ namespace sdr::properties { } - void CellProperties::ItemSetChanged(const SfxItemSet& rSet ) + void CellProperties::ItemSetChanged(const SfxItemSet* pSet ) { SdrTextObj& rObj = static_cast<SdrTextObj&>(GetSdrObject()); @@ -253,12 +253,12 @@ namespace sdr::properties // if the user sets character attributes to the complete // cell we want to remove all hard set character attributes // with same which ids from the text - std::vector<sal_uInt16> aCharWhichIds(GetAllCharPropIds(rSet)); + std::vector<sal_uInt16> aCharWhichIds(GetAllCharPropIds(*pSet)); for(sal_Int32 nPara = 0; nPara < nParaCount; nPara++) { SfxItemSet aSet(pOutliner->GetParaAttribs(nPara)); - aSet.Put(rSet); + aSet.Put(*pSet); for (const auto& rWhichId : aCharWhichIds) { @@ -288,7 +288,7 @@ namespace sdr::properties } // call parent - AttributeProperties::ItemSetChanged(rSet); + AttributeProperties::ItemSetChanged(pSet); if( mxCell.is() ) mxCell->notifyModified(); |