summaryrefslogtreecommitdiff
path: root/svx/inc
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2022-02-15 21:02:02 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-02-16 14:55:51 +0100
commitf04ae7a8b7be6205f6cbc645cb15e7a48f1df960 (patch)
tree6f63fefb45a31c5353801fec68c067d27623359a /svx/inc
parent741ae431ed680ae66e9b242626eef0d8f274486a (diff)
speed up DefaultProperties::SetObjectItem when loading large chart
The cost of creating a SfxItemSet to pass around changed item information is surprisingly high, so avoid that and just pass the vector of changed items down (which we are already building anyway). Change-Id: Ifa48e3ce07fb6c92ad05a119ae95ce002af76199 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129976 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx/inc')
-rw-r--r--svx/inc/getallcharpropids.hxx7
-rw-r--r--svx/inc/sdr/properties/attributeproperties.hxx2
-rw-r--r--svx/inc/sdr/properties/captionproperties.hxx2
-rw-r--r--svx/inc/sdr/properties/circleproperties.hxx2
-rw-r--r--svx/inc/sdr/properties/connectorproperties.hxx2
-rw-r--r--svx/inc/sdr/properties/customshapeproperties.hxx2
-rw-r--r--svx/inc/sdr/properties/e3dproperties.hxx2
-rw-r--r--svx/inc/sdr/properties/graphicproperties.hxx2
-rw-r--r--svx/inc/sdr/properties/measureproperties.hxx2
-rw-r--r--svx/inc/sdr/properties/rectangleproperties.hxx2
-rw-r--r--svx/inc/sdr/properties/textproperties.hxx3
11 files changed, 14 insertions, 14 deletions
diff --git a/svx/inc/getallcharpropids.hxx b/svx/inc/getallcharpropids.hxx
index c52d41b689a7..e5c8d98f34d1 100644
--- a/svx/inc/getallcharpropids.hxx
+++ b/svx/inc/getallcharpropids.hxx
@@ -21,14 +21,15 @@
#define INCLUDED_SVX_INC_GETALLCHARPROPIDS_HXX
#include <sal/config.h>
-
-#include <vector>
-
#include <sal/types.h>
+#include <o3tl/span.hxx>
+#include <vector>
class SfxItemSet;
+class SfxPoolItem;
std::vector<sal_uInt16> GetAllCharPropIds(const SfxItemSet& rSet);
+std::vector<sal_uInt16> GetAllCharPropIds(o3tl::span<const SfxPoolItem* const> aChangedItems);
#endif
diff --git a/svx/inc/sdr/properties/attributeproperties.hxx b/svx/inc/sdr/properties/attributeproperties.hxx
index 72b864bb749a..d2f1aa15a70c 100644
--- a/svx/inc/sdr/properties/attributeproperties.hxx
+++ b/svx/inc/sdr/properties/attributeproperties.hxx
@@ -49,7 +49,7 @@ namespace sdr::properties
virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = nullptr) override;
// react on ItemSet changes
- virtual void ItemSetChanged(const SfxItemSet*) override;
+ virtual void ItemSetChanged(o3tl::span< const SfxPoolItem* const > aChangedItems, sal_uInt16 nDeletedWhich) override;
// apply the correct SfyStyleSheet from SdrObject's SdrModel
virtual void applyDefaultStyleSheetFromSdrModel();
diff --git a/svx/inc/sdr/properties/captionproperties.hxx b/svx/inc/sdr/properties/captionproperties.hxx
index b9c21bf42aa3..238ec4682612 100644
--- a/svx/inc/sdr/properties/captionproperties.hxx
+++ b/svx/inc/sdr/properties/captionproperties.hxx
@@ -31,7 +31,7 @@ namespace sdr::properties
virtual SfxItemSet CreateObjectSpecificItemSet(SfxItemPool& rPool) override;
// react on ItemSet changes
- virtual void ItemSetChanged(const SfxItemSet*) override;
+ virtual void ItemSetChanged(o3tl::span< const SfxPoolItem* const > aChangedItems, sal_uInt16 nDeletedWhich) override;
public:
// basic constructor
diff --git a/svx/inc/sdr/properties/circleproperties.hxx b/svx/inc/sdr/properties/circleproperties.hxx
index c21269c50aa5..9eaa09dbc14d 100644
--- a/svx/inc/sdr/properties/circleproperties.hxx
+++ b/svx/inc/sdr/properties/circleproperties.hxx
@@ -31,7 +31,7 @@ namespace sdr::properties
virtual SfxItemSet CreateObjectSpecificItemSet(SfxItemPool& rPool) override;
// react on ItemSet changes
- virtual void ItemSetChanged(const SfxItemSet*) override;
+ virtual void ItemSetChanged(o3tl::span< const SfxPoolItem* const > aChangedItems, sal_uInt16 nDeletedWhich) override;
public:
// basic constructor
diff --git a/svx/inc/sdr/properties/connectorproperties.hxx b/svx/inc/sdr/properties/connectorproperties.hxx
index ba5379854594..b3f116289094 100644
--- a/svx/inc/sdr/properties/connectorproperties.hxx
+++ b/svx/inc/sdr/properties/connectorproperties.hxx
@@ -31,7 +31,7 @@ namespace sdr::properties
virtual SfxItemSet CreateObjectSpecificItemSet(SfxItemPool& rPool) override;
// react on ItemSet changes
- virtual void ItemSetChanged(const SfxItemSet*) override;
+ virtual void ItemSetChanged(o3tl::span< const SfxPoolItem* const > aChangedItems, sal_uInt16 nDeletedWhich) override;
public:
// basic constructor
diff --git a/svx/inc/sdr/properties/customshapeproperties.hxx b/svx/inc/sdr/properties/customshapeproperties.hxx
index 9bfdb47ebdb7..1cc83a2cf29f 100644
--- a/svx/inc/sdr/properties/customshapeproperties.hxx
+++ b/svx/inc/sdr/properties/customshapeproperties.hxx
@@ -37,7 +37,7 @@ namespace sdr::properties
virtual bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = nullptr) const override;
// react on ItemSet changes
- virtual void ItemSetChanged(const SfxItemSet*) override;
+ virtual void ItemSetChanged(o3tl::span< const SfxPoolItem* const > aChangedItems, sal_uInt16 nDeletedWhich) override;
// react on Item change
virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = nullptr) override;
diff --git a/svx/inc/sdr/properties/e3dproperties.hxx b/svx/inc/sdr/properties/e3dproperties.hxx
index 533751660fb7..caef0ff57ba7 100644
--- a/svx/inc/sdr/properties/e3dproperties.hxx
+++ b/svx/inc/sdr/properties/e3dproperties.hxx
@@ -32,7 +32,7 @@ namespace sdr::properties
virtual SfxItemSet CreateObjectSpecificItemSet(SfxItemPool& rPool) override;
// react on ItemSet changes
- virtual void ItemSetChanged(const SfxItemSet*) override;
+ virtual void ItemSetChanged(o3tl::span< const SfxPoolItem* const > aChangedItems, sal_uInt16 nDeletedWhich) override;
public:
// basic constructor
diff --git a/svx/inc/sdr/properties/graphicproperties.hxx b/svx/inc/sdr/properties/graphicproperties.hxx
index 19f76e438ad7..7f842a9dcfd6 100644
--- a/svx/inc/sdr/properties/graphicproperties.hxx
+++ b/svx/inc/sdr/properties/graphicproperties.hxx
@@ -34,7 +34,7 @@ namespace sdr::properties
virtual SfxItemSet CreateObjectSpecificItemSet(SfxItemPool& rPool) override;
// react on ItemSet changes
- virtual void ItemSetChanged(const SfxItemSet*) override;
+ virtual void ItemSetChanged(o3tl::span< const SfxPoolItem* const > aChangedItems, sal_uInt16 nDeletedWhich) override;
public:
// basic constructor
diff --git a/svx/inc/sdr/properties/measureproperties.hxx b/svx/inc/sdr/properties/measureproperties.hxx
index 7e861c6f45cf..001f9778c98d 100644
--- a/svx/inc/sdr/properties/measureproperties.hxx
+++ b/svx/inc/sdr/properties/measureproperties.hxx
@@ -31,7 +31,7 @@ namespace sdr::properties
virtual SfxItemSet CreateObjectSpecificItemSet(SfxItemPool& rPool) override;
// react on ItemSet changes
- virtual void ItemSetChanged(const SfxItemSet*) override;
+ virtual void ItemSetChanged(o3tl::span< const SfxPoolItem* const > aChangedItems, sal_uInt16 nDeletedWhich) override;
public:
// basic constructor
diff --git a/svx/inc/sdr/properties/rectangleproperties.hxx b/svx/inc/sdr/properties/rectangleproperties.hxx
index 887550397b83..7694e9d3c44f 100644
--- a/svx/inc/sdr/properties/rectangleproperties.hxx
+++ b/svx/inc/sdr/properties/rectangleproperties.hxx
@@ -29,7 +29,7 @@ namespace sdr::properties
{
protected:
// react on ItemSet changes
- virtual void ItemSetChanged(const SfxItemSet*) override;
+ virtual void ItemSetChanged(o3tl::span< const SfxPoolItem* const > aChangedItems, sal_uInt16 nDeletedWhich) override;
public:
// basic constructor
diff --git a/svx/inc/sdr/properties/textproperties.hxx b/svx/inc/sdr/properties/textproperties.hxx
index c5edb206a532..916e5a7f6b5b 100644
--- a/svx/inc/sdr/properties/textproperties.hxx
+++ b/svx/inc/sdr/properties/textproperties.hxx
@@ -40,8 +40,7 @@ namespace sdr::properties
virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = nullptr) override;
// react on ItemSet changes
- virtual void ItemSetChanged(const SfxItemSet*) override;
- virtual bool WantItemSetInItemSetChanged() const override final;
+ virtual void ItemSetChanged(o3tl::span< const SfxPoolItem* const > aChangedItems, sal_uInt16 nDeletedWhich) override;
/// Get the TextProvider related to our SdrObject
virtual const svx::ITextProvider& getTextProvider() const;