Kaydet (Commit) 1b7bcaa7 authored tarafından Noel Grandin's avatar Noel Grandin

use unique_ptr in svx

Change-Id: Ib0dd1edf05470783da41f08767020a9009f356ad
Reviewed-on: https://gerrit.libreoffice.org/65444
Tested-by: Jenkins
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 146f98e7
......@@ -512,7 +512,7 @@ namespace svxform
{
DataItemType eType = DITElement;
SvTreeListEntry* pEntry = m_pItemList->FirstSelected();
ItemNode* pNode = nullptr;
std::unique_ptr<ItemNode> pNode;
Reference< css::xml::dom::XNode > xParentNode;
Reference< XPropertySet > xNewBinding;
const char* pResId = nullptr;
......@@ -597,7 +597,7 @@ namespace svxform
{
SAL_WARN( "svx.form", "XFormsPage::DoToolBoxAction(): exception while get binding for node" );
}
pNode = new ItemNode( xNewNode );
pNode.reset(new ItemNode( xNewNode ));
}
else
{
......@@ -607,7 +607,7 @@ namespace svxform
xNewBinding = xModel->createBinding();
Reference< XSet > xBindings( xModel->getBindings(), UNO_QUERY );
xBindings->insert( makeAny( xNewBinding ) );
pNode = new ItemNode( xNewBinding );
pNode.reset(new ItemNode( xNewBinding ));
eType = DITBinding;
}
catch ( Exception& )
......@@ -616,7 +616,7 @@ namespace svxform
}
}
ScopedVclPtrInstance< AddDataItemDialog > aDlg( this, pNode, m_xUIHelper );
ScopedVclPtrInstance< AddDataItemDialog > aDlg( this, pNode.get(), m_xUIHelper );
aDlg->SetText( SvxResId( pResId ) );
aDlg->InitText( eType );
short nReturn = aDlg->Execute();
......@@ -624,7 +624,7 @@ namespace svxform
{
if ( RET_OK == nReturn )
{
SvTreeListEntry* pNewEntry = AddEntry( pNode, bIsElement );
SvTreeListEntry* pNewEntry = AddEntry( std::move(pNode), bIsElement );
m_pItemList->MakeVisible( pNewEntry );
m_pItemList->Select( pNewEntry );
bIsDocModified = true;
......@@ -639,7 +639,6 @@ namespace svxform
if ( xNode.is() )
xPNode = xNode->getParentNode();
DBG_ASSERT( !xPNode.is(), "XFormsPage::RemoveEntry(): node not removed" );
delete pNode;
}
catch ( Exception& )
{
......@@ -667,7 +666,6 @@ namespace svxform
SAL_WARN( "svx.form", "XFormsPage::DoToolboxAction(): exception caught" );
}
}
delete pNode;
}
}
}
......@@ -787,7 +785,7 @@ namespace svxform
return bHandled;
}
SvTreeListEntry* XFormsPage::AddEntry( ItemNode* _pNewNode, bool _bIsElement )
SvTreeListEntry* XFormsPage::AddEntry( std::unique_ptr<ItemNode> _pNewNode, bool _bIsElement )
{
SvTreeListEntry* pParent = m_pItemList->FirstSelected();
Image aImage(StockImage::Yes, _bIsElement ? OUString(RID_SVXBMP_ELEMENT) : OUString(RID_SVXBMP_ATTRIBUTE));
......@@ -802,7 +800,7 @@ namespace svxform
DBG_UNHANDLED_EXCEPTION("svx");
}
return m_pItemList->InsertEntry(
sName, aImage, aImage, pParent, false, TREELIST_APPEND, _pNewNode );
sName, aImage, aImage, pParent, false, TREELIST_APPEND, _pNewNode.release() );
}
SvTreeListEntry* XFormsPage::AddEntry( const Reference< XPropertySet >& _rEntry )
......
......@@ -214,14 +214,14 @@ void GalleryThemePopup::Execute(
{
if ( rCmdInfo.Dispatch.is() )
{
DispatchInfo *pInfo = new DispatchInfo;
std::unique_ptr<DispatchInfo> pInfo(new DispatchInfo);
pInfo->TargetURL = rCmdInfo.URL;
pInfo->Arguments = rArguments;
pInfo->Dispatch = rCmdInfo.Dispatch;
if ( !Application::PostUserEvent(
LINK( nullptr, GalleryBrowser2, AsyncDispatch_Impl), pInfo ) )
delete pInfo;
LINK( nullptr, GalleryBrowser2, AsyncDispatch_Impl), pInfo.get() ) )
pInfo.reset();
}
}
......@@ -1076,14 +1076,14 @@ void GalleryBrowser2::DispatchAdd(
aArgs[0].Name = SVXGALLERYITEM_ARGNAME;
aArgs[0].Value <<= aSeq;
DispatchInfo *pInfo = new DispatchInfo;
std::unique_ptr<DispatchInfo> pInfo(new DispatchInfo);
pInfo->TargetURL = aURL;
pInfo->Arguments = aArgs;
pInfo->Dispatch = xDispatch;
if ( !Application::PostUserEvent(
LINK( nullptr, GalleryBrowser2, AsyncDispatch_Impl), pInfo ) )
delete pInfo;
LINK( nullptr, GalleryBrowser2, AsyncDispatch_Impl), pInfo.get() ) )
pInfo.reset();
}
void GalleryBrowser2::Execute(const OString &rIdent)
......
......@@ -246,7 +246,7 @@ namespace svxform
void AddChildren(SvTreeListEntry* _pParent,
const css::uno::Reference< css::xml::dom::XNode >& _xNode);
bool DoToolBoxAction( sal_uInt16 _nToolBoxID );
SvTreeListEntry* AddEntry( ItemNode* _pNewNode, bool _bIsElement );
SvTreeListEntry* AddEntry( std::unique_ptr<ItemNode> _pNewNode, bool _bIsElement );
SvTreeListEntry* AddEntry( const css::uno::Reference< css::beans::XPropertySet >& _rPropSet );
void EditEntry( const css::uno::Reference< css::beans::XPropertySet >& _rPropSet );
bool RemoveEntry();
......
......@@ -195,7 +195,7 @@ namespace drawinglayer
bool bWordWrap)
{
basegfx::B2DHomMatrix aAnchorTransform(rObjectTransform);
SdrTextPrimitive2D* pNew = nullptr;
std::unique_ptr<SdrTextPrimitive2D> pNew;
if(rText.isContour())
{
......@@ -223,20 +223,20 @@ namespace drawinglayer
0.0 != aScale.getY() ? 1.0 / aScale.getY() : 1.0));
// create with unit polygon
pNew = new SdrContourTextPrimitive2D(
pNew.reset(new SdrContourTextPrimitive2D(
&rText.getSdrText(),
rText.getOutlinerParaObject(),
aScaledUnitPolyPolygon,
rObjectTransform);
rObjectTransform));
}
else
{
// create with unit polygon
pNew = new SdrContourTextPrimitive2D(
pNew.reset(new SdrContourTextPrimitive2D(
&rText.getSdrText(),
rText.getOutlinerParaObject(),
rUnitPolyPolygon,
rObjectTransform);
rObjectTransform));
}
}
else if(!rText.getSdrFormTextAttribute().isDefault())
......@@ -244,11 +244,11 @@ namespace drawinglayer
// text on path, use scaled polygon
basegfx::B2DPolyPolygon aScaledPolyPolygon(rUnitPolyPolygon);
aScaledPolyPolygon.transform(rObjectTransform);
pNew = new SdrPathTextPrimitive2D(
pNew.reset(new SdrPathTextPrimitive2D(
&rText.getSdrText(),
rText.getOutlinerParaObject(),
aScaledPolyPolygon,
rText.getSdrFormTextAttribute());
rText.getSdrFormTextAttribute()));
}
else
{
......@@ -298,32 +298,32 @@ namespace drawinglayer
if(rText.isFitToSize())
{
// stretched text in range
pNew = new SdrStretchTextPrimitive2D(
pNew.reset(new SdrStretchTextPrimitive2D(
&rText.getSdrText(),
rText.getOutlinerParaObject(),
aAnchorTransform,
rText.isFixedCellHeight());
rText.isFixedCellHeight()));
}
else if(rText.isAutoFit())
{
// isotropically scaled text in range
pNew = new SdrAutoFitTextPrimitive2D(
pNew.reset(new SdrAutoFitTextPrimitive2D(
&rText.getSdrText(),
rText.getOutlinerParaObject(),
aAnchorTransform,
bWordWrap);
bWordWrap));
}
else if( rText.isChainable() && !rText.isInEditMode() )
{
pNew = new SdrChainedTextPrimitive2D(
pNew.reset(new SdrChainedTextPrimitive2D(
&rText.getSdrText(),
rText.getOutlinerParaObject(),
aAnchorTransform );
aAnchorTransform ));
}
else // text in range
{
// build new primitive
pNew = new SdrBlockTextPrimitive2D(
pNew.reset(new SdrBlockTextPrimitive2D(
&rText.getSdrText(),
rText.getOutlinerParaObject(),
aAnchorTransform,
......@@ -333,7 +333,7 @@ namespace drawinglayer
rText.isScroll(),
bCellText,
bWordWrap,
false/*bClipOnBounds*/);
false/*bClipOnBounds*/));
}
}
......@@ -348,7 +348,7 @@ namespace drawinglayer
if(0.0 != aAnimationList.getDuration())
{
// create content sequence
const Primitive2DReference xRefA(pNew);
const Primitive2DReference xRefA(pNew.release());
const Primitive2DContainer aContent { xRefA };
// create and add animated switch primitive
......@@ -357,7 +357,7 @@ namespace drawinglayer
else
{
// add to decomposition
return Primitive2DReference(pNew);
return Primitive2DReference(pNew.release());
}
}
......@@ -384,8 +384,7 @@ namespace drawinglayer
// bring the primitive back to scaled only and get scaled range, create new clone for this
std::unique_ptr<SdrTextPrimitive2D> pNew2 = pNew->createTransformedClone(aISRT);
OSL_ENSURE(pNew2, "createTextPrimitive: Could not create transformed clone of text primitive (!)");
delete pNew;
pNew = pNew2.release();
pNew = std::move(pNew2);
// create neutral geometry::ViewInformation2D for local range and decompose calls. This is okay
// since the decompose is view-independent
......@@ -439,7 +438,7 @@ namespace drawinglayer
// pNew to aNewPrimitiveSequence)
Primitive2DContainer aAnimSequence;
pNew->get2DDecomposition(aAnimSequence, aViewInformation2D);
delete pNew;
pNew.reset();
// create a new animatedInterpolatePrimitive and add it
std::vector< basegfx::B2DHomMatrix > aMatrixStack;
......@@ -457,7 +456,7 @@ namespace drawinglayer
else
{
// add to decomposition
return Primitive2DReference(pNew);
return Primitive2DReference(pNew.release());
}
}
}
......@@ -467,7 +466,7 @@ namespace drawinglayer
// #i97628#
// encapsulate with TextHierarchyEditPrimitive2D to allow renderers
// to suppress actively edited content if needed
const Primitive2DReference xRefA(pNew);
const Primitive2DReference xRefA(pNew.release());
const Primitive2DContainer aContent { xRefA };
// create and add TextHierarchyEditPrimitive2D primitive
......@@ -476,7 +475,7 @@ namespace drawinglayer
else
{
// add to decomposition
return Primitive2DReference(pNew);
return Primitive2DReference(pNew.release());
}
}
......
......@@ -261,13 +261,13 @@ namespace sdr
{
for(sal_Int32 nPara = 0; nPara < nParaCount; nPara++)
{
SfxItemSet* pTempSet = nullptr;
std::unique_ptr<SfxItemSet> pTempSet;
// since setting the stylesheet removes all para attributes
if(bDontRemoveHardAttr)
{
// we need to remember them if we want to keep them
pTempSet = new SfxItemSet(rOutliner.GetParaAttribs(nPara));
pTempSet.reset(new SfxItemSet(rOutliner.GetParaAttribs(nPara)));
}
if(GetStyleSheet())
......@@ -333,8 +333,6 @@ namespace sdr
}
}
}
delete pTempSet;
}
std::unique_ptr<OutlinerParaObject> pTemp = rOutliner.CreateParaObject(0, nParaCount);
......
......@@ -239,25 +239,18 @@ void SdrPageView::CompleteRedraw(
if(GetPage())
{
SdrPageWindow* pPageWindow = FindPageWindow(rPaintWindow);
bool bIsTempTarget(false);
std::unique_ptr<SdrPageWindow> pTempPageWindow;
if(!pPageWindow)
{
// create temp PageWindow
pPageWindow = new SdrPageWindow(*this, rPaintWindow);
bIsTempTarget = true;
pTempPageWindow.reset(new SdrPageWindow(*this, rPaintWindow));
pPageWindow = pTempPageWindow.get();
}
// do the redraw
pPageWindow->PrepareRedraw(rReg);
pPageWindow->RedrawAll(pRedirector);
// get rid of temp PageWindow
if(bIsTempTarget)
{
delete pPageWindow;
pPageWindow = nullptr;
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment