diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-09-06 09:14:06 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-09-06 12:50:57 +0200 |
commit | fc161dc07cafda54ebdabd4c66dfd6528cc11813 (patch) | |
tree | 81b5ccfca3793741ac74a4591f0b6605986eabe3 /sd/source/ui | |
parent | dc79dc76f18148296ae18ed7251cf61505e25d44 (diff) |
use unique_ptr in DoConvertToPolyObj
Change-Id: Ia7f9ff4d8f7b9834b6634e5c126bd65014dacf19
Reviewed-on: https://gerrit.libreoffice.org/78684
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sd/source/ui')
-rw-r--r-- | sd/source/ui/func/fulinend.cxx | 7 | ||||
-rw-r--r-- | sd/source/ui/func/fumorph.cxx | 7 |
2 files changed, 6 insertions, 8 deletions
diff --git a/sd/source/ui/func/fulinend.cxx b/sd/source/ui/func/fulinend.cxx index 6f9df0b16028..8d3886a6be4d 100644 --- a/sd/source/ui/func/fulinend.cxx +++ b/sd/source/ui/func/fulinend.cxx @@ -58,7 +58,7 @@ void FuLineEnd::DoExecute( SfxRequest& ) const SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); const SdrObject* pNewObj; - SdrObject* pConvPolyObj = nullptr; + SdrObjectUniquePtr pConvPolyObj; if( dynamic_cast< const SdrPathObj *>( pObj ) != nullptr ) { @@ -75,7 +75,8 @@ void FuLineEnd::DoExecute( SfxRequest& ) // bCanConvToPath is sal_True for group objects, // but it crashes on ConvertToPathObj()! { - pNewObj = pConvPolyObj = pObj->ConvertToPolyObj( true, false ); + pConvPolyObj = pObj->ConvertToPolyObj( true, false ); + pNewObj = pConvPolyObj.get(); if( !pNewObj || dynamic_cast< const SdrPathObj *>( pNewObj ) == nullptr ) return; // Cancel, additional security, but it does not help @@ -87,7 +88,7 @@ void FuLineEnd::DoExecute( SfxRequest& ) const ::basegfx::B2DPolyPolygon aPolyPolygon = static_cast<const SdrPathObj*>(pNewObj)->GetPathPoly(); // Delete the created poly-object - SdrObject::Free( pConvPolyObj ); + pConvPolyObj.reset(); XLineEndListRef pLineEndList = mpDoc->GetLineEndList(); diff --git a/sd/source/ui/func/fumorph.cxx b/sd/source/ui/func/fumorph.cxx index f9827986f9da..72223999498a 100644 --- a/sd/source/ui/func/fumorph.cxx +++ b/sd/source/ui/func/fumorph.cxx @@ -90,8 +90,8 @@ void FuMorph::DoExecute( SfxRequest& ) pCloneObj2->SetOutlinerParaObject(nullptr); // create path objects - SdrObject* pPolyObj1 = pCloneObj1->ConvertToPolyObj(false, false); - SdrObject* pPolyObj2 = pCloneObj2->ConvertToPolyObj(false, false); + SdrObjectUniquePtr pPolyObj1 = pCloneObj1->ConvertToPolyObj(false, false); + SdrObjectUniquePtr pPolyObj2 = pCloneObj2->ConvertToPolyObj(false, false); SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create(); ScopedVclPtr<AbstractMorphDlg> pDlg( pFact->CreateMorphDlg(mpWindow ? mpWindow->GetFrameWeld() : nullptr, pObj1, pObj2) ); if(pPolyObj1 && pPolyObj2 && (pDlg->Execute() == RET_OK)) @@ -173,9 +173,6 @@ void FuMorph::DoExecute( SfxRequest& ) } SdrObject::Free( pCloneObj1 ); SdrObject::Free( pCloneObj2 ); - - SdrObject::Free( pPolyObj1 ); - SdrObject::Free( pPolyObj2 ); } static ::basegfx::B2DPolygon ImpGetExpandedPolygon( |