diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2022-02-15 21:02:02 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-02-16 14:55:51 +0100 |
commit | f04ae7a8b7be6205f6cbc645cb15e7a48f1df960 (patch) | |
tree | 6f63fefb45a31c5353801fec68c067d27623359a /svx/inc | |
parent | 741ae431ed680ae66e9b242626eef0d8f274486a (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.hxx | 7 | ||||
-rw-r--r-- | svx/inc/sdr/properties/attributeproperties.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/properties/captionproperties.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/properties/circleproperties.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/properties/connectorproperties.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/properties/customshapeproperties.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/properties/e3dproperties.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/properties/graphicproperties.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/properties/measureproperties.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/properties/rectangleproperties.hxx | 2 | ||||
-rw-r--r-- | svx/inc/sdr/properties/textproperties.hxx | 3 |
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; |