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 /sd/source/ui/view/sdview3.cxx | |
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 'sd/source/ui/view/sdview3.cxx')
-rw-r--r-- | sd/source/ui/view/sdview3.cxx | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sd/source/ui/view/sdview3.cxx b/sd/source/ui/view/sdview3.cxx index 73f06ae8f975..4100fe9dfacc 100644 --- a/sd/source/ui/view/sdview3.cxx +++ b/sd/source/ui/view/sdview3.cxx @@ -480,7 +480,7 @@ bool View::InsertData( const TransferableDataHelper& rDataHelper, for(size_t a = 0; a < pMarkList->GetMarkCount(); ++a) { SdrMark* pM = pMarkList->GetMark(a); - SdrObject* pObj = pM->GetMarkedSdrObj()->Clone(); + SdrObject* pObj(pM->GetMarkedSdrObj()->CloneSdrObject(pPage->getSdrModelFromSdrPage())); if(pObj) { @@ -714,7 +714,8 @@ bool View::InsertData( const TransferableDataHelper& rDataHelper, if( ( mnAction & DND_ACTION_MOVE ) && pPickObj2 && pObj ) { // replace object - SdrObject* pNewObj = pObj->Clone(); + SdrPage* pWorkPage = GetSdrPageView()->GetPage(); + SdrObject* pNewObj(pObj->CloneSdrObject(pWorkPage->getSdrModelFromSdrPage())); ::tools::Rectangle aPickObjRect( pPickObj2->GetCurrentBoundRect() ); Size aPickObjSize( aPickObjRect.GetSize() ); Point aVec( aPickObjRect.TopLeft() ); @@ -733,7 +734,6 @@ bool View::InsertData( const TransferableDataHelper& rDataHelper, if( bUndo ) BegUndo(SdResId(STR_UNDO_DRAGDROP)); pNewObj->NbcSetLayer( pPickObj->GetLayer() ); - SdrPage* pWorkPage = GetSdrPageView()->GetPage(); pWorkPage->InsertObject( pNewObj ); if( bUndo ) { |