include/svx/sdr/attribute/sdrallfillattributeshelper.hxx | 8 ++++---- svx/source/sdr/attribute/sdrallfillattributeshelper.cxx | 15 +++++---------- 2 files changed, 9 insertions(+), 14 deletions(-)
New commits: commit 30067dafa988d4c6dd970c817eca283ac8946728 Author: Noel Grandin <noelgran...@gmail.com> AuthorDate: Sun Aug 22 16:52:19 2021 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Sun Aug 22 18:54:30 2021 +0200 no need to use shared_ptr in SdrAllFillAttributesHelper these types are already COW types Change-Id: I7e4375ac50b8d887869123eeb99d3eaef0d28169 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120851 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/include/svx/sdr/attribute/sdrallfillattributeshelper.hxx b/include/svx/sdr/attribute/sdrallfillattributeshelper.hxx index c8c22af9b71c..c9bb786a8091 100644 --- a/include/svx/sdr/attribute/sdrallfillattributeshelper.hxx +++ b/include/svx/sdr/attribute/sdrallfillattributeshelper.hxx @@ -24,7 +24,7 @@ #include <drawinglayer/attribute/sdrfillattribute.hxx> #include <drawinglayer/primitive2d/Primitive2DContainer.hxx> #include <svl/itemset.hxx> -#include <memory> +#include <optional> ////////////////////////////////////////////////////////////////////////////// @@ -37,9 +37,9 @@ namespace drawinglayer::attribute private: basegfx::B2DRange maLastPaintRange; basegfx::B2DRange maLastDefineRange; - std::shared_ptr< drawinglayer::attribute::SdrFillAttribute > maFillAttribute; - std::shared_ptr< drawinglayer::attribute::FillGradientAttribute > maFillGradientAttribute; - drawinglayer::primitive2d::Primitive2DContainer maPrimitives; + std::optional<drawinglayer::attribute::SdrFillAttribute> maFillAttribute; + std::optional<drawinglayer::attribute::FillGradientAttribute> maFillGradientAttribute; + drawinglayer::primitive2d::Primitive2DContainer maPrimitives; void createPrimitive2DSequence( const basegfx::B2DRange& rPaintRange, diff --git a/svx/source/sdr/attribute/sdrallfillattributeshelper.cxx b/svx/source/sdr/attribute/sdrallfillattributeshelper.cxx index 57945facb4bb..5605ba4aba6f 100644 --- a/svx/source/sdr/attribute/sdrallfillattributeshelper.cxx +++ b/svx/source/sdr/attribute/sdrallfillattributeshelper.cxx @@ -57,8 +57,7 @@ namespace drawinglayer::attribute maFillGradientAttribute(), maPrimitives() { - maFillAttribute = - std::make_shared<drawinglayer::attribute::SdrFillAttribute>( + maFillAttribute = drawinglayer::attribute::SdrFillAttribute( 0.0, rColor.GetRGBColor().getBColor(), drawinglayer::attribute::FillGradientAttribute(), @@ -70,11 +69,9 @@ namespace drawinglayer::attribute : maLastPaintRange(), maLastDefineRange(), maFillAttribute( - std::make_shared<drawinglayer::attribute::SdrFillAttribute>( - drawinglayer::primitive2d::createNewSdrFillAttribute(rSet))), + drawinglayer::primitive2d::createNewSdrFillAttribute(rSet)), maFillGradientAttribute( - std::make_shared<drawinglayer::attribute::FillGradientAttribute>( - drawinglayer::primitive2d::createNewTransparenceGradientAttribute(rSet))), + drawinglayer::primitive2d::createNewTransparenceGradientAttribute(rSet)), maPrimitives() { } @@ -115,8 +112,7 @@ namespace drawinglayer::attribute { if(!maFillAttribute) { - const_cast< SdrAllFillAttributesHelper* >(this)->maFillAttribute = - std::make_shared<drawinglayer::attribute::SdrFillAttribute>(); + const_cast< SdrAllFillAttributesHelper* >(this)->maFillAttribute.emplace(); } return *maFillAttribute; @@ -126,8 +122,7 @@ namespace drawinglayer::attribute { if(!maFillGradientAttribute) { - const_cast< SdrAllFillAttributesHelper* >(this)->maFillGradientAttribute = - std::make_shared<drawinglayer::attribute::FillGradientAttribute>(); + const_cast< SdrAllFillAttributesHelper* >(this)->maFillGradientAttribute.emplace(); } return *maFillGradientAttribute;