[Libreoffice-commits] core.git: sc/source
Noel Grandin
noel.grandin at collabora.co.uk
Tue Apr 10 10:07:55 UTC 2018
sc/source/ui/app/drwtrans.cxx | 20 +++++++++-----------
sc/source/ui/inc/drwtrans.hxx | 10 +++++-----
2 files changed, 14 insertions(+), 16 deletions(-)
New commits:
commit 63229c51ba33ccb478ac9df1737281555ebea0bd
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date: Mon Apr 9 12:08:55 2018 +0200
loplugin:useuniqueptr in ScDrawTransferObj
Change-Id: I0de14f370f81b6b1e37cb7c9e517d4e9b857ab83
Reviewed-on: https://gerrit.libreoffice.org/52644
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/sc/source/ui/app/drwtrans.cxx b/sc/source/ui/app/drwtrans.cxx
index 3fa00a949b55..13d5c91e142d 100644
--- a/sc/source/ui/app/drwtrans.cxx
+++ b/sc/source/ui/app/drwtrans.cxx
@@ -174,7 +174,7 @@ ScDrawTransferObj::ScDrawTransferObj( SdrModel* pClipModel, ScDocShell* pContain
aLabel = sTmp;
}
}
- pBookmark = new INetBookmark( aAbs, aLabel );
+ pBookmark.reset( new INetBookmark( aAbs, aLabel ) );
}
}
}
@@ -229,11 +229,11 @@ ScDrawTransferObj::~ScDrawTransferObj()
aOleData = TransferableDataHelper(); // clear before releasing the mutex
aDocShellRef.clear();
- delete pModel;
+ pModel.reset();
aDrawPersistRef.clear(); // after the model
- delete pBookmark;
- delete pDragSourceView;
+ pBookmark.reset();
+ pDragSourceView.reset();
}
ScDrawTransferObj* ScDrawTransferObj::GetOwnClipboard( vcl::Window* pWin )
@@ -339,7 +339,7 @@ void ScDrawTransferObj::AddSupportedFormats()
AddFormat( SotClipboardFormatId::DRAWING );
// leave out bitmap and metafile if there are only controls
- if ( !lcl_HasOnlyControls( pModel ) )
+ if ( !lcl_HasOnlyControls( pModel.get() ) )
{
AddFormat( SotClipboardFormatId::PNG );
AddFormat( SotClipboardFormatId::BITMAP );
@@ -387,7 +387,7 @@ bool ScDrawTransferObj::GetData( const css::datatransfer::DataFlavor& rFlavor, c
}
else if ( nFormat == SotClipboardFormatId::DRAWING )
{
- bOK = SetObject( pModel, SCDRAWTRANS_TYPE_DRAWMODEL, rFlavor );
+ bOK = SetObject( pModel.get(), SCDRAWTRANS_TYPE_DRAWMODEL, rFlavor );
}
else if ( nFormat == SotClipboardFormatId::BITMAP
|| nFormat == SotClipboardFormatId::PNG
@@ -602,7 +602,7 @@ void ScDrawTransferObj::DragFinished( sal_Int8 nDropAction )
if ( pScMod->GetDragData().pDrawTransfer == this )
pScMod->ResetDragObject();
- DELETEZ( pDragSourceView );
+ pDragSourceView.reset();
TransferableHelper::DragFinished( nDropAction );
}
@@ -631,8 +631,7 @@ static void lcl_InitMarks( SdrMarkView& rDest, const SdrMarkView& rSource, SCTAB
void ScDrawTransferObj::SetDragSource( const ScDrawView* pView )
{
- DELETEZ( pDragSourceView );
- pDragSourceView = new SdrView(pView->getSdrModelFromSdrView()); // TTTT pView should be reference
+ pDragSourceView.reset(new SdrView(pView->getSdrModelFromSdrView())); // TTTT pView should be reference
lcl_InitMarks( *pDragSourceView, *pView, pView->GetTab() );
//! add as listener with document, delete pDragSourceView if document gone
@@ -640,8 +639,7 @@ void ScDrawTransferObj::SetDragSource( const ScDrawView* pView )
void ScDrawTransferObj::SetDragSourceObj( SdrObject& rObj, SCTAB nTab )
{
- DELETEZ( pDragSourceView );
- pDragSourceView = new SdrView(rObj.getSdrModelFromSdrObject());
+ pDragSourceView.reset(new SdrView(rObj.getSdrModelFromSdrObject()));
pDragSourceView->ShowSdrPage(pDragSourceView->GetModel()->GetPage(nTab));
SdrPageView* pPV = pDragSourceView->GetSdrPageView();
pDragSourceView->MarkObj(&rObj, pPV); // TTTT MarkObj should take SdrObject&
diff --git a/sc/source/ui/inc/drwtrans.hxx b/sc/source/ui/inc/drwtrans.hxx
index cf2fdaeaeb40..30ee2f793f53 100644
--- a/sc/source/ui/inc/drwtrans.hxx
+++ b/sc/source/ui/inc/drwtrans.hxx
@@ -41,7 +41,7 @@ enum class ScDragSrc;
class ScDrawTransferObj : public TransferableHelper
{
private:
- SdrModel* pModel;
+ std::unique_ptr<SdrModel> pModel;
TransferableDataHelper aOleData;
TransferableObjectDescriptor aObjDesc;
SfxObjectShellRef aDocShellRef;
@@ -49,13 +49,13 @@ private:
// extracted from model in ctor:
Size aSrcSize;
- INetBookmark* pBookmark;
+ std::unique_ptr<INetBookmark> pBookmark;
bool bGraphic;
bool bGrIsBit;
bool bOleObj;
// source information for drag&drop:
// (view is needed to handle drawing obejcts)
- SdrView* pDragSourceView;
+ std::unique_ptr<SdrView> pDragSourceView;
ScDragSrc nDragSourceFlags;
bool bDragWasInternal;
@@ -79,7 +79,7 @@ public:
const css::datatransfer::DataFlavor& rFlavor ) override;
virtual void DragFinished( sal_Int8 nDropAction ) override;
- SdrModel* GetModel() { return pModel; }
+ SdrModel* GetModel() { return pModel.get(); }
void SetDrawPersist( const SfxObjectShellRef& rRef );
void SetDragSource( const ScDrawView* pView );
@@ -89,7 +89,7 @@ public:
const OUString& GetShellID() const;
- SdrView* GetDragSourceView() { return pDragSourceView; }
+ SdrView* GetDragSourceView() { return pDragSourceView.get(); }
ScDragSrc GetDragSourceFlags() const { return nDragSourceFlags; }
static ScDrawTransferObj* GetOwnClipboard( vcl::Window* );
More information about the Libreoffice-commits
mailing list