diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-02-21 14:00:09 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-02-21 15:12:29 +0100 |
commit | d39f886ea541f71a09d1d7140c77852b01c847f0 (patch) | |
tree | 506dfb5867bec821456e09593e38d9d7ac88859d /include | |
parent | e4aaf59f4801431d5bdd1aa6e18d2aa8eba39f1c (diff) |
speed up SvxShape::_setPropertyValue
by using the Properties related code to create an SfxItemSet with the
correct ranges, instead of creating an empty SfxItemSet and updating it.
Shaves 2% off the load time of a large chart.
Change-Id: Ia1f8527fa52ab5b8c70e13e1e2ab8c8f25739b2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130270
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'include')
-rw-r--r-- | include/svx/sdr/properties/defaultproperties.hxx | 2 | ||||
-rw-r--r-- | include/svx/sdr/properties/properties.hxx | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/include/svx/sdr/properties/defaultproperties.hxx b/include/svx/sdr/properties/defaultproperties.hxx index 09999c0ad66b..bae37df2753a 100644 --- a/include/svx/sdr/properties/defaultproperties.hxx +++ b/include/svx/sdr/properties/defaultproperties.hxx @@ -41,7 +41,7 @@ namespace sdr::properties mutable std::optional<SfxItemSet> mxItemSet; // create a new object specific itemset with object specific ranges. - virtual SfxItemSet CreateObjectSpecificItemSet(SfxItemPool& pPool); + virtual SfxItemSet CreateObjectSpecificItemSet(SfxItemPool& pPool) override; // Test changeability for a single item. If an implementation wants to prevent // changing an item it should override this method. diff --git a/include/svx/sdr/properties/properties.hxx b/include/svx/sdr/properties/properties.hxx index e100e8e778c3..d793753c6a39 100644 --- a/include/svx/sdr/properties/properties.hxx +++ b/include/svx/sdr/properties/properties.hxx @@ -92,6 +92,8 @@ namespace sdr::properties // destructor virtual ~BaseProperties(); + virtual SfxItemSet CreateObjectSpecificItemSet(SfxItemPool& pPool) = 0; + // Clone() operator, normally just calls the local copy constructor, // see above. virtual std::unique_ptr<BaseProperties> Clone(SdrObject& rObj) const = 0; |