summaryrefslogtreecommitdiff
path: root/sd/source/ui
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-09-06 09:14:06 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-09-06 12:50:57 +0200
commitfc161dc07cafda54ebdabd4c66dfd6528cc11813 (patch)
tree81b5ccfca3793741ac74a4591f0b6605986eabe3 /sd/source/ui
parentdc79dc76f18148296ae18ed7251cf61505e25d44 (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.cxx7
-rw-r--r--sd/source/ui/func/fumorph.cxx7
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(