use std::unique_ptr fo CreateObjectSpecificProperties

Change-Id: Ica82eca48719f12535757c81e95d788fe0aaa48e
Reviewed-on: https://gerrit.libreoffice.org/57110
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/include/svx/extrud3d.hxx b/include/svx/extrud3d.hxx
index 4bdb696..d899b77 100644
--- a/include/svx/extrud3d.hxx
+++ b/include/svx/extrud3d.hxx
@@ -39,7 +39,7 @@ private:
    basegfx::B2DPolyPolygon         maExtrudePolygon;

    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;
    void SetDefaultAttributes(const E3dDefaultAttributes& rDefault);

private:
diff --git a/include/svx/lathe3d.hxx b/include/svx/lathe3d.hxx
index 8875621..fe240c1 100644
--- a/include/svx/lathe3d.hxx
+++ b/include/svx/lathe3d.hxx
@@ -38,7 +38,7 @@ class SVX_DLLPUBLIC E3dLatheObj final : public E3dCompoundObject
    basegfx::B2DPolyPolygon maPolyPoly2D;

    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;
    void SetDefaultAttributes(const E3dDefaultAttributes& rDefault);

private:
diff --git a/include/svx/obj3d.hxx b/include/svx/obj3d.hxx
index c452197..6d24ed7 100644
--- a/include/svx/obj3d.hxx
+++ b/include/svx/obj3d.hxx
@@ -79,7 +79,7 @@ private:
    friend class E3dDragMethod;

 protected:
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;

    basegfx::B3DRange           maLocalBoundVol;    // surrounding volume of the object (from the geometry generation)
    basegfx::B3DHomMatrix       maTransformation;   // local transformation
@@ -173,7 +173,7 @@ private:
    friend class sdr::properties::E3dSphereProperties;

protected:
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;

    // material of the object
    Color                   aMaterialAmbientColor;
diff --git a/include/svx/scene3d.hxx b/include/svx/scene3d.hxx
index d3682c7..0d81d44 100644
--- a/include/svx/scene3d.hxx
+++ b/include/svx/scene3d.hxx
@@ -60,7 +60,7 @@ class Imp3DDepthRemapper;
class SVX_DLLPUBLIC E3dScene : public E3dObject, public SdrObjList
{
protected:
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;

    // transformations
diff --git a/include/svx/sphere3d.hxx b/include/svx/sphere3d.hxx
index 490bf268..ae05492 100644
--- a/include/svx/sphere3d.hxx
+++ b/include/svx/sphere3d.hxx
@@ -34,7 +34,7 @@ private:
    basegfx::B3DVector              aSize;

    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;
    void SetDefaultAttributes(const E3dDefaultAttributes& rDefault);

private:
diff --git a/include/svx/svdoashp.hxx b/include/svx/svdoashp.hxx
index f88b677..ed90a91 100644
--- a/include/svx/svdoashp.hxx
+++ b/include/svx/svdoashp.hxx
@@ -84,7 +84,7 @@ protected:
    virtual void impl_setUnoShape(const css::uno::Reference<css::uno::XInterface>& rxUnoShape) override;

public:
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;

    // to allow sdr::properties::CustomShapeProperties access
    friend class sdr::properties::CustomShapeProperties;
diff --git a/include/svx/svdoattr.hxx b/include/svx/svdoattr.hxx
index a39a919..ff0693f 100644
--- a/include/svx/svdoattr.hxx
+++ b/include/svx/svdoattr.hxx
@@ -42,7 +42,7 @@ private:
    friend class                SdrOutliner;

protected:
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;

    tools::Rectangle                   maSnapRect;

diff --git a/include/svx/svdobj.hxx b/include/svx/svdobj.hxx
index fa3a9cf..a7a8010 100644
--- a/include/svx/svdobj.hxx
+++ b/include/svx/svdobj.hxx
@@ -949,7 +949,7 @@ protected:

    virtual ~SdrObject() override;

    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties();
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties();

    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact();

diff --git a/include/svx/svdocapt.hxx b/include/svx/svdocapt.hxx
index 6791cf9..b75d486 100644
--- a/include/svx/svdocapt.hxx
+++ b/include/svx/svdocapt.hxx
@@ -47,7 +47,7 @@ private:
    friend class                SdrTextObj; // for ImpRecalcTail() during AutoGrow

protected:
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;

private:
diff --git a/include/svx/svdocirc.hxx b/include/svx/svdocirc.hxx
index 62fa7c8..8ce5681 100644
--- a/include/svx/svdocirc.hxx
+++ b/include/svx/svdocirc.hxx
@@ -48,7 +48,7 @@ private:
    SdrObjKind GetCircleKind() const { return meCircleKind; }

    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;

    SdrObjKind                  meCircleKind;
    long                        nStartAngle;
diff --git a/include/svx/svdoedge.hxx b/include/svx/svdoedge.hxx
index 723741e..d1f84cb 100644
--- a/include/svx/svdoedge.hxx
+++ b/include/svx/svdoedge.hxx
@@ -137,7 +137,7 @@ private:

protected:
    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;

    SdrObjConnection            aCon1;  // Connection status of the beginning of the line
    SdrObjConnection            aCon2;  // Connection status of the end of the line
diff --git a/include/svx/svdograf.hxx b/include/svx/svdograf.hxx
index 6a14693..c609df2 100644
--- a/include/svx/svdograf.hxx
+++ b/include/svx/svdograf.hxx
@@ -86,7 +86,7 @@ private:
    friend class SdrGraphicLink;

    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;

    void ImpSetAttrToGrafInfo(); // Copy values from the pool
    GraphicAttr aGrafInfo;
diff --git a/include/svx/svdogrp.hxx b/include/svx/svdogrp.hxx
index 35100074..c0c6cab 100644
--- a/include/svx/svdogrp.hxx
+++ b/include/svx/svdogrp.hxx
@@ -33,7 +33,7 @@ class SVX_DLLPUBLIC SdrObjGroup final : public SdrObject, public SdrObjList
{
private:
    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;

    Point                       aRefPoint;      // Reference point inside the object group

diff --git a/include/svx/svdomeas.hxx b/include/svx/svdomeas.hxx
index 6e3e6af..409dbbf 100644
--- a/include/svx/svdomeas.hxx
+++ b/include/svx/svdomeas.hxx
@@ -53,7 +53,7 @@ private:

protected:
    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;

    Point                       aPt1;
    Point                       aPt2;
diff --git a/include/svx/svdoole2.hxx b/include/svx/svdoole2.hxx
index a0bb2c3..59adef7 100644
--- a/include/svx/svdoole2.hxx
+++ b/include/svx/svdoole2.hxx
@@ -63,7 +63,7 @@ private:

protected:
    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;

    // protected destructor
    virtual ~SdrOle2Obj() override;
diff --git a/include/svx/svdopage.hxx b/include/svx/svdopage.hxx
index c666e55..994d523 100644
--- a/include/svx/svdopage.hxx
+++ b/include/svx/svdopage.hxx
@@ -38,7 +38,7 @@ private:

protected:
    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;

    // protected destructor
    virtual ~SdrPageObj() override;
diff --git a/include/svx/svdorect.hxx b/include/svx/svdorect.hxx
index ac015cb..15d5c36 100644
--- a/include/svx/svdorect.hxx
+++ b/include/svx/svdorect.hxx
@@ -45,7 +45,7 @@ private:

protected:
    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;

    std::unique_ptr<XPolygon> mpXPoly;

diff --git a/include/svx/svdotable.hxx b/include/svx/svdotable.hxx
index 8d9c03a..6f52fde 100644
--- a/include/svx/svdotable.hxx
+++ b/include/svx/svdotable.hxx
@@ -267,7 +267,7 @@ private:
    void init( sal_Int32 nColumns, sal_Int32 nRows );

protected:
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;

    virtual SdrObjGeoData* NewGeoData() const override;
diff --git a/include/svx/svdotext.hxx b/include/svx/svdotext.hxx
index b7e606e..e89b0b3 100644
--- a/include/svx/svdotext.hxx
+++ b/include/svx/svdotext.hxx
@@ -147,7 +147,7 @@ private:
    friend class sdr::properties::CustomShapeProperties;

protected:
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact() override;

private:
diff --git a/svx/source/engine3d/extrud3d.cxx b/svx/source/engine3d/extrud3d.cxx
index 6ab1ae7..38b94e6 100644
--- a/svx/source/engine3d/extrud3d.cxx
+++ b/svx/source/engine3d/extrud3d.cxx
@@ -45,9 +45,9 @@ std::unique_ptr<sdr::contact::ViewContact> E3dExtrudeObj::CreateObjectSpecificVi
    return o3tl::make_unique<sdr::contact::ViewContactOfE3dExtrude>(*this);
}

sdr::properties::BaseProperties* E3dExtrudeObj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> E3dExtrudeObj::CreateObjectSpecificProperties()
{
    return new sdr::properties::E3dExtrudeProperties(*this);
    return o3tl::make_unique<sdr::properties::E3dExtrudeProperties>(*this);
}

// Constructor creates a two cover surface tools::PolyPolygon and (point-count 1) side
diff --git a/svx/source/engine3d/lathe3d.cxx b/svx/source/engine3d/lathe3d.cxx
index 629ecfb..5068def 100644
--- a/svx/source/engine3d/lathe3d.cxx
+++ b/svx/source/engine3d/lathe3d.cxx
@@ -43,9 +43,9 @@ std::unique_ptr<sdr::contact::ViewContact> E3dLatheObj::CreateObjectSpecificView
    return o3tl::make_unique<sdr::contact::ViewContactOfE3dLathe>(*this);
}

sdr::properties::BaseProperties* E3dLatheObj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> E3dLatheObj::CreateObjectSpecificProperties()
{
    return new sdr::properties::E3dLatheProperties(*this);
    return o3tl::make_unique<sdr::properties::E3dLatheProperties>(*this);
}

// Constructor from 3D polygon, scale is the conversion factor for the coordinates
diff --git a/svx/source/engine3d/obj3d.cxx b/svx/source/engine3d/obj3d.cxx
index 01d57b9..d3cf4bf 100644
--- a/svx/source/engine3d/obj3d.cxx
+++ b/svx/source/engine3d/obj3d.cxx
@@ -75,12 +75,13 @@
#include <com/sun/star/uno/Sequence.h>
#include <svx/sdr/contact/viewcontactofe3dscene.hxx>
#include <svx/e3dsceneupdater.hxx>
#include <o3tl/make_unique.hxx>

using namespace com::sun::star;

sdr::properties::BaseProperties* E3dObject::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> E3dObject::CreateObjectSpecificProperties()
{
    return new sdr::properties::E3dProperties(*this);
    return o3tl::make_unique<sdr::properties::E3dProperties>(*this);
}

E3dObject::E3dObject(SdrModel& rSdrModel)
@@ -486,9 +487,9 @@ void E3dObject::NbcRotate(const Point& rRef, long nAngle, double sn, double cs)
    SetGlueReallyAbsolute(false);       // from now they are again relative to BoundRect (that is defined as aOutRect)
}

sdr::properties::BaseProperties* E3dCompoundObject::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> E3dCompoundObject::CreateObjectSpecificProperties()
{
    return new sdr::properties::E3dCompoundProperties(*this);
    return o3tl::make_unique<sdr::properties::E3dCompoundProperties>(*this);
}

E3dCompoundObject::E3dCompoundObject(SdrModel& rSdrModel)
diff --git a/svx/source/engine3d/scene3d.cxx b/svx/source/engine3d/scene3d.cxx
index a6cf651..4e3d06b 100644
--- a/svx/source/engine3d/scene3d.cxx
+++ b/svx/source/engine3d/scene3d.cxx
@@ -157,9 +157,9 @@ sal_uInt32 Imp3DDepthRemapper::RemapOrdNum(sal_uInt32 nOrdNum) const

// BaseProperties section

sdr::properties::BaseProperties* E3dScene::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> E3dScene::CreateObjectSpecificProperties()
{
    return new sdr::properties::E3dSceneProperties(*this);
    return o3tl::make_unique<sdr::properties::E3dSceneProperties>(*this);
}


diff --git a/svx/source/engine3d/sphere3d.cxx b/svx/source/engine3d/sphere3d.cxx
index c528d47..4b2ee55 100644
--- a/svx/source/engine3d/sphere3d.cxx
+++ b/svx/source/engine3d/sphere3d.cxx
@@ -40,9 +40,9 @@ std::unique_ptr<sdr::contact::ViewContact> E3dSphereObj::CreateObjectSpecificVie
    return o3tl::make_unique<sdr::contact::ViewContactOfE3dSphere>(*this);
}

sdr::properties::BaseProperties* E3dSphereObj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> E3dSphereObj::CreateObjectSpecificProperties()
{
    return new sdr::properties::E3dSphereProperties(*this);
    return o3tl::make_unique<sdr::properties::E3dSphereProperties>(*this);
}

// Build Sphere from polygon facets in latitude and longitude
diff --git a/svx/source/svdraw/svdoashp.cxx b/svx/source/svdraw/svdoashp.cxx
index c0a139c..2c261b5 100644
--- a/svx/source/svdraw/svdoashp.cxx
+++ b/svx/source/svdraw/svdoashp.cxx
@@ -804,9 +804,9 @@ static void lcl_ShapePropertiesFromDFF( const SvxMSDffHandle* pData, css::beans:
    }
}

sdr::properties::BaseProperties* SdrObjCustomShape::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SdrObjCustomShape::CreateObjectSpecificProperties()
{
    return new sdr::properties::CustomShapeProperties(*this);
    return o3tl::make_unique<sdr::properties::CustomShapeProperties>(*this);
}

SdrObjCustomShape::SdrObjCustomShape(SdrModel& rSdrModel)
diff --git a/svx/source/svdraw/svdoattr.cxx b/svx/source/svdraw/svdoattr.cxx
index f33a47e..578e841 100644
--- a/svx/source/svdraw/svdoattr.cxx
+++ b/svx/source/svdraw/svdoattr.cxx
@@ -71,12 +71,13 @@
#include <sdr/properties/attributeproperties.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
#include <svx/xlinjoit.hxx>
#include <o3tl/make_unique.hxx>

using namespace com::sun::star;

sdr::properties::BaseProperties* SdrAttrObj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SdrAttrObj::CreateObjectSpecificProperties()
{
    return new sdr::properties::AttributeProperties(*this);
    return o3tl::make_unique<sdr::properties::AttributeProperties>(*this);
}


diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index 5d30142..fdfd176 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -216,9 +216,9 @@ struct SdrObject::Impl

// BaseProperties section

sdr::properties::BaseProperties* SdrObject::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SdrObject::CreateObjectSpecificProperties()
{
    return new sdr::properties::EmptyProperties(*this);
    return o3tl::make_unique<sdr::properties::EmptyProperties>(*this);
}

sdr::properties::BaseProperties& SdrObject::GetProperties() const
@@ -229,8 +229,8 @@ sdr::properties::BaseProperties& SdrObject::GetProperties() const
        // that will lead to wrong type-casts (dependent on constructor-level)
        // and thus eventually create the wrong sdr::properties (!). Is there
        // a way to check if on the stack is a SdrObject-constructor (?)
        const_cast< SdrObject* >(this)->mpProperties.reset(
            const_cast< SdrObject* >(this)->CreateObjectSpecificProperties() );
        const_cast< SdrObject* >(this)->mpProperties =
            const_cast< SdrObject* >(this)->CreateObjectSpecificProperties();
    }

    return *mpProperties;
diff --git a/svx/source/svdraw/svdocapt.cxx b/svx/source/svdraw/svdocapt.cxx
index 1a4ea0c..4af2f1a 100644
--- a/svx/source/svdraw/svdocapt.cxx
+++ b/svx/source/svdraw/svdocapt.cxx
@@ -175,9 +175,9 @@ void ImpCaptParams::CalcEscPos(const Point& rTailPt, const tools::Rectangle& rRe

// BaseProperties section

sdr::properties::BaseProperties* SdrCaptionObj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SdrCaptionObj::CreateObjectSpecificProperties()
{
    return new sdr::properties::CaptionProperties(*this);
    return o3tl::make_unique<sdr::properties::CaptionProperties>(*this);
}


diff --git a/svx/source/svdraw/svdocirc.cxx b/svx/source/svdraw/svdocirc.cxx
index 71dad28..d0a9d3a 100644
--- a/svx/source/svdraw/svdocirc.cxx
+++ b/svx/source/svdraw/svdocirc.cxx
@@ -92,9 +92,9 @@ Point GetAnglePnt(const tools::Rectangle& rR, long nAngle)

// BaseProperties section

sdr::properties::BaseProperties* SdrCircObj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SdrCircObj::CreateObjectSpecificProperties()
{
    return new sdr::properties::CircleProperties(*this);
    return o3tl::make_unique<sdr::properties::CircleProperties>(*this);
}


diff --git a/svx/source/svdraw/svdoedge.cxx b/svx/source/svdraw/svdoedge.cxx
index ca3174a..7b490ae 100644
--- a/svx/source/svdraw/svdoedge.cxx
+++ b/svx/source/svdraw/svdoedge.cxx
@@ -148,9 +148,9 @@ long SdrEdgeInfoRec::ImpGetLineOffset(SdrEdgeLineCode eLineCode, const XPolygon&

// BaseProperties section

sdr::properties::BaseProperties* SdrEdgeObj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SdrEdgeObj::CreateObjectSpecificProperties()
{
    return new sdr::properties::ConnectorProperties(*this);
    return o3tl::make_unique<sdr::properties::ConnectorProperties>(*this);
}


diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx
index 90e6d4a..3b6e673 100644
--- a/svx/source/svdraw/svdograf.cxx
+++ b/svx/source/svdraw/svdograf.cxx
@@ -265,9 +265,9 @@ void SdrGraphicLink::UpdateAsynchron()
    }
}

sdr::properties::BaseProperties* SdrGrafObj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SdrGrafObj::CreateObjectSpecificProperties()
{
    return new sdr::properties::GraphicProperties(*this);
    return o3tl::make_unique<sdr::properties::GraphicProperties>(*this);
}


diff --git a/svx/source/svdraw/svdogrp.cxx b/svx/source/svdraw/svdogrp.cxx
index c66ee4f..e0f85de 100644
--- a/svx/source/svdraw/svdogrp.cxx
+++ b/svx/source/svdraw/svdogrp.cxx
@@ -52,9 +52,9 @@
#include <o3tl/make_unique.hxx>

// BaseProperties section
sdr::properties::BaseProperties* SdrObjGroup::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SdrObjGroup::CreateObjectSpecificProperties()
{
    return new sdr::properties::GroupProperties(*this);
    return o3tl::make_unique<sdr::properties::GroupProperties>(*this);
}

// DrawContact section
diff --git a/svx/source/svdraw/svdomeas.cxx b/svx/source/svdraw/svdomeas.cxx
index cc6ba7d6..8d58f79 100644
--- a/svx/source/svdraw/svdomeas.cxx
+++ b/svx/source/svdraw/svdomeas.cxx
@@ -185,9 +185,9 @@ OUString SdrMeasureObj::TakeRepresentation(SdrMeasureFieldKind eMeasureFieldKind

// BaseProperties section

sdr::properties::BaseProperties* SdrMeasureObj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SdrMeasureObj::CreateObjectSpecificProperties()
{
    return new sdr::properties::MeasureProperties(*this);
    return o3tl::make_unique<sdr::properties::MeasureProperties>(*this);
}


diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx
index d854ffb..b01af63 100644
--- a/svx/source/svdraw/svdoole2.cxx
+++ b/svx/source/svdraw/svdoole2.cxx
@@ -669,9 +669,9 @@ static bool ImplIsMathObj( const uno::Reference < embed::XEmbeddedObject >& rObj

// BaseProperties section

sdr::properties::BaseProperties* SdrOle2Obj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SdrOle2Obj::CreateObjectSpecificProperties()
{
    return new sdr::properties::OleProperties(*this);
    return o3tl::make_unique<sdr::properties::OleProperties>(*this);
}

// DrawContact section
diff --git a/svx/source/svdraw/svdopage.cxx b/svx/source/svdraw/svdopage.cxx
index ceb4a13..8176626 100644
--- a/svx/source/svdraw/svdopage.cxx
+++ b/svx/source/svdraw/svdopage.cxx
@@ -36,9 +36,9 @@

// BaseProperties section

sdr::properties::BaseProperties* SdrPageObj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SdrPageObj::CreateObjectSpecificProperties()
{
    return new sdr::properties::PageProperties(*this);
    return o3tl::make_unique<sdr::properties::PageProperties>(*this);
}


diff --git a/svx/source/svdraw/svdorect.cxx b/svx/source/svdraw/svdorect.cxx
index c1a102b..fdba015 100644
--- a/svx/source/svdraw/svdorect.cxx
+++ b/svx/source/svdraw/svdorect.cxx
@@ -49,9 +49,9 @@ using namespace com::sun::star;

// BaseProperties section

sdr::properties::BaseProperties* SdrRectObj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SdrRectObj::CreateObjectSpecificProperties()
{
    return new sdr::properties::RectangleProperties(*this);
    return o3tl::make_unique<sdr::properties::RectangleProperties>(*this);
}


diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx
index 7a1d1c9..cb02ba7 100644
--- a/svx/source/svdraw/svdotext.cxx
+++ b/svx/source/svdraw/svdotext.cxx
@@ -65,9 +65,9 @@
using namespace com::sun::star;

// BaseProperties section
sdr::properties::BaseProperties* SdrTextObj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SdrTextObj::CreateObjectSpecificProperties()
{
    return new sdr::properties::TextProperties(*this);
    return o3tl::make_unique<sdr::properties::TextProperties>(*this);
}

// DrawContact section
diff --git a/svx/source/table/svdotable.cxx b/svx/source/table/svdotable.cxx
index 4586485..e638c5e 100644
--- a/svx/source/table/svdotable.cxx
+++ b/svx/source/table/svdotable.cxx
@@ -837,9 +837,9 @@ void SdrTableObjImpl::UpdateCells( tools::Rectangle const & rArea )
// BaseProperties section


sdr::properties::BaseProperties* SdrTableObj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SdrTableObj::CreateObjectSpecificProperties()
{
    return new TableProperties(*this);
    return o3tl::make_unique<TableProperties>(*this);
}


diff --git a/sw/source/core/draw/dflyobj.cxx b/sw/source/core/draw/dflyobj.cxx
index 70fab49..74341ab 100644
--- a/sw/source/core/draw/dflyobj.cxx
+++ b/sw/source/core/draw/dflyobj.cxx
@@ -109,10 +109,10 @@ namespace sdr
    } // end of namespace contact
} // end of namespace sdr

sdr::properties::BaseProperties* SwFlyDrawObj::CreateObjectSpecificProperties()
std::unique_ptr<sdr::properties::BaseProperties> SwFlyDrawObj::CreateObjectSpecificProperties()
{
    // create default properties
    return new sdr::properties::DefaultProperties(*this);
    return o3tl::make_unique<sdr::properties::DefaultProperties>(*this);
}

std::unique_ptr<sdr::contact::ViewContact> SwFlyDrawObj::CreateObjectSpecificViewContact()
diff --git a/sw/source/core/inc/dflyobj.hxx b/sw/source/core/inc/dflyobj.hxx
index 181eeac..f7f744a 100644
--- a/sw/source/core/inc/dflyobj.hxx
+++ b/sw/source/core/inc/dflyobj.hxx
@@ -33,7 +33,7 @@ const sal_uInt16 SwFlyDrawObjIdentifier = 0x0001;
class SwFlyDrawObj : public SdrObject
{
private:
    virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties() override;
    virtual std::unique_ptr<sdr::properties::BaseProperties> CreateObjectSpecificProperties() override;

protected:
    // #i95264# SwFlyDrawObj needs an own VC since createViewIndependentPrimitive2DSequence()