summaryrefslogtreecommitdiffstats
path: root/svx/source/engine3d
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/engine3d')
-rw-r--r--svx/source/engine3d/extrud3d.cxx6
-rw-r--r--svx/source/engine3d/lathe3d.cxx6
-rw-r--r--svx/source/engine3d/obj3d.cxx2
-rw-r--r--svx/source/engine3d/view3d.cxx2
4 files changed, 8 insertions, 8 deletions
diff --git a/svx/source/engine3d/extrud3d.cxx b/svx/source/engine3d/extrud3d.cxx
index 38b94e629e47..fc20fc9fa342 100644
--- a/svx/source/engine3d/extrud3d.cxx
+++ b/svx/source/engine3d/extrud3d.cxx
@@ -159,7 +159,7 @@ bool E3dExtrudeObj::IsBreakObjPossible()
return true;
}
-SdrAttrObj* E3dExtrudeObj::GetBreakObj()
+std::unique_ptr<SdrAttrObj,SdrObjectFreeOp> E3dExtrudeObj::GetBreakObj()
{
basegfx::B3DPolyPolygon aFrontSide;
basegfx::B3DPolyPolygon aBackSide;
@@ -210,13 +210,13 @@ SdrAttrObj* E3dExtrudeObj::GetBreakObj()
{
// create PathObj
basegfx::B2DPolyPolygon aPoly = TransformToScreenCoor(aBackSide);
- SdrPathObj* pPathObj = new SdrPathObj(getSdrModelFromSdrObject(), OBJ_PLIN, aPoly);
+ std::unique_ptr<SdrPathObj,SdrObjectFreeOp> pPathObj(new SdrPathObj(getSdrModelFromSdrObject(), OBJ_PLIN, aPoly));
SfxItemSet aSet(GetObjectItemSet());
aSet.Put(XLineStyleItem(css::drawing::LineStyle_SOLID));
pPathObj->SetMergedItemSet(aSet);
- return pPathObj;
+ return std::unique_ptr<SdrAttrObj,SdrObjectFreeOp>(pPathObj.release());
}
return nullptr;
diff --git a/svx/source/engine3d/lathe3d.cxx b/svx/source/engine3d/lathe3d.cxx
index 5068defb7d1b..e7ad61fb32a6 100644
--- a/svx/source/engine3d/lathe3d.cxx
+++ b/svx/source/engine3d/lathe3d.cxx
@@ -187,12 +187,12 @@ bool E3dLatheObj::IsBreakObjPossible()
return true;
}
-SdrAttrObj* E3dLatheObj::GetBreakObj()
+std::unique_ptr<SdrAttrObj,SdrObjectFreeOp> E3dLatheObj::GetBreakObj()
{
// create PathObj
basegfx::B3DPolyPolygon aLathePoly3D(basegfx::utils::createB3DPolyPolygonFromB2DPolyPolygon(maPolyPoly2D));
basegfx::B2DPolyPolygon aTransPoly(TransformToScreenCoor(aLathePoly3D));
- SdrPathObj* pPathObj = new SdrPathObj(getSdrModelFromSdrObject(), OBJ_PLIN, aTransPoly);
+ std::unique_ptr<SdrPathObj,SdrObjectFreeOp> pPathObj(new SdrPathObj(getSdrModelFromSdrObject(), OBJ_PLIN, aTransPoly));
// Set Attribute
SfxItemSet aSet(GetObjectItemSet());
@@ -202,7 +202,7 @@ SdrAttrObj* E3dLatheObj::GetBreakObj()
pPathObj->SetMergedItemSet(aSet);
- return pPathObj;
+ return std::unique_ptr<SdrAttrObj,SdrObjectFreeOp>(pPathObj.release());
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/engine3d/obj3d.cxx b/svx/source/engine3d/obj3d.cxx
index f9723ff93992..15ecacd3ed16 100644
--- a/svx/source/engine3d/obj3d.cxx
+++ b/svx/source/engine3d/obj3d.cxx
@@ -114,7 +114,7 @@ bool E3dObject::IsBreakObjPossible()
return false;
}
-SdrAttrObj* E3dObject::GetBreakObj()
+std::unique_ptr<SdrAttrObj,SdrObjectFreeOp> E3dObject::GetBreakObj()
{
return nullptr;
}
diff --git a/svx/source/engine3d/view3d.cxx b/svx/source/engine3d/view3d.cxx
index eecae287517a..e88ff0116f24 100644
--- a/svx/source/engine3d/view3d.cxx
+++ b/svx/source/engine3d/view3d.cxx
@@ -1577,7 +1577,7 @@ void E3dView::BreakSingle3DObj(E3dObject* pObj)
}
else
{
- SdrAttrObj* pNewObj = pObj->GetBreakObj();
+ SdrAttrObj* pNewObj = pObj->GetBreakObj().release();
if(pNewObj)
{
InsertObjectAtView(pNewObj, *GetSdrPageView(), SdrInsertFlags::DONTMARK);