From 91b0d2122bdee361bf5412a42d48ff051159cbf2 Mon Sep 17 00:00:00 2001 From: Armin Le Grand Date: Mon, 7 May 2018 11:44:26 +0200 Subject: tdf#116977 secured ::Clone methods Renamed SdrPage::Clone -> SdrPage::CloneSdrPage Renamed SdrObject::Clone -> SdrObject::CloneSdrObject Giving SdrModel is no longer an option, but a must (as reference). This makes future changes more safe by force usage to think about it. Also equals the constructors which already require a target SdrModel. Done the same for ::CloneSdrPage. Change-Id: I06f0129e15140bd8693db27a445037d7e2f7f652 Reviewed-on: https://gerrit.libreoffice.org/53933 Tested-by: Jenkins Reviewed-by: Armin Le Grand --- basctl/source/dlged/dlgedobj.cxx | 4 ++-- basctl/source/dlged/dlgedpage.cxx | 4 ++-- basctl/source/inc/dlgedobj.hxx | 12 ++++++------ basctl/source/inc/dlgedpage.hxx | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) (limited to 'basctl') diff --git a/basctl/source/dlged/dlgedobj.cxx b/basctl/source/dlged/dlgedobj.cxx index 44d7b7a10d55..008260b0bd21 100644 --- a/basctl/source/dlged/dlgedobj.cxx +++ b/basctl/source/dlged/dlgedobj.cxx @@ -886,9 +886,9 @@ void DlgEdObj::clonedFrom(const DlgEdObj* _pSource) StartListening(); } -DlgEdObj* DlgEdObj::Clone(SdrModel* pTargetModel) const +DlgEdObj* DlgEdObj::CloneSdrObject(SdrModel& rTargetModel) const { - DlgEdObj* pDlgEdObj = CloneHelper< DlgEdObj >(pTargetModel); + DlgEdObj* pDlgEdObj = CloneHelper< DlgEdObj >(rTargetModel); DBG_ASSERT( pDlgEdObj != nullptr, "DlgEdObj::Clone: invalid clone!" ); if ( pDlgEdObj ) pDlgEdObj->clonedFrom( this ); diff --git a/basctl/source/dlged/dlgedpage.cxx b/basctl/source/dlged/dlgedpage.cxx index 73241128d447..d422f757868c 100644 --- a/basctl/source/dlged/dlgedpage.cxx +++ b/basctl/source/dlged/dlgedpage.cxx @@ -38,9 +38,9 @@ DlgEdPage::~DlgEdPage() ClearSdrObjList(); } -SdrPage* DlgEdPage::Clone(SdrModel* const pNewModel) const +SdrPage* DlgEdPage::CloneSdrPage(SdrModel& rTargetModel) const { - DlgEdModel& rDlgEdModel(static_cast< DlgEdModel& >(nullptr == pNewModel ? getSdrModelFromSdrPage() : *pNewModel)); + DlgEdModel& rDlgEdModel(static_cast< DlgEdModel& >(rTargetModel)); DlgEdPage* pClonedDlgEdPage( new DlgEdPage( rDlgEdModel, diff --git a/basctl/source/inc/dlgedobj.hxx b/basctl/source/inc/dlgedobj.hxx index 4660c29d2682..0e6898636806 100644 --- a/basctl/source/inc/dlgedobj.hxx +++ b/basctl/source/inc/dlgedobj.hxx @@ -63,6 +63,9 @@ protected: const OUString& rModelName, const css::uno::Reference< css::lang::XMultiServiceFactory >& rxSFac); + // protected destructor + virtual ~DlgEdObj() override; + virtual void NbcMove( const Size& rSize ) override; virtual void NbcResize(const Point& rRef, const Fraction& xFact, const Fraction& yFact) override; virtual bool EndCreate(SdrDragStat& rStat, SdrCreateCmd eCmd) override; @@ -87,16 +90,13 @@ protected: sal_Int32& nXOut, sal_Int32& nYOut, sal_Int32& nWidthOut, sal_Int32& nHeightOut ); public: - - virtual ~DlgEdObj() override; - void SetDlgEdForm( DlgEdForm* pForm ) { pDlgEdForm = pForm; } DlgEdForm* GetDlgEdForm() const { return pDlgEdForm; } virtual SdrInventor GetObjInventor() const override; virtual sal_uInt16 GetObjIdentifier() const override; - virtual DlgEdObj* Clone(SdrModel* pTargetModel = nullptr) const override; // not working yet + virtual DlgEdObj* CloneSdrObject(SdrModel& rTargetModel) const override; // not working yet void clonedFrom(const DlgEdObj* _pSource); // not working yet // FullDrag support @@ -163,10 +163,10 @@ protected: virtual void NbcResize(const Point& rRef, const Fraction& xFact, const Fraction& yFact) override; virtual bool EndCreate(SdrDragStat& rStat, SdrCreateCmd eCmd) override; -public: - + // protected destructor virtual ~DlgEdForm() override; +public: DlgEditor& GetDlgEditor () const { return rDlgEditor; } void AddChild( DlgEdObj* pDlgEdObj ); diff --git a/basctl/source/inc/dlgedpage.hxx b/basctl/source/inc/dlgedpage.hxx index 164f725f85ee..e589a894ddf4 100644 --- a/basctl/source/inc/dlgedpage.hxx +++ b/basctl/source/inc/dlgedpage.hxx @@ -44,7 +44,7 @@ public: explicit DlgEdPage( DlgEdModel& rModel, bool bMasterPage = false ); virtual ~DlgEdPage() override; - virtual SdrPage* Clone(SdrModel* pNewModel = nullptr) const override; + virtual SdrPage* CloneSdrPage(SdrModel& rTargetModel) const override; void SetDlgEdForm( DlgEdForm* pForm ) { pDlgEdForm = pForm; } DlgEdForm* GetDlgEdForm() const { return pDlgEdForm; } -- cgit