diff options
author | Armin Le Grand <Armin.Le.Grand@cib.de> | 2018-05-07 11:44:26 +0200 |
---|---|---|
committer | Armin Le Grand <Armin.Le.Grand@cib.de> | 2018-05-08 01:53:46 +0200 |
commit | 91b0d2122bdee361bf5412a42d48ff051159cbf2 (patch) | |
tree | 003ef60b93668847803a812486534ebc805e6546 /basctl | |
parent | bdccb7e9991d83029eb2f2f11327b54534a00db8 (diff) |
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 <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Diffstat (limited to 'basctl')
-rw-r--r-- | basctl/source/dlged/dlgedobj.cxx | 4 | ||||
-rw-r--r-- | basctl/source/dlged/dlgedpage.cxx | 4 | ||||
-rw-r--r-- | basctl/source/inc/dlgedobj.hxx | 12 | ||||
-rw-r--r-- | basctl/source/inc/dlgedpage.hxx | 2 |
4 files changed, 11 insertions, 11 deletions
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; } |