summaryrefslogtreecommitdiff
path: root/sfx2/source/doc
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-05-22 13:25:58 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-05-23 09:31:20 +0200
commitd1e47b1428abf1732ab4d5e219b210760d4152e0 (patch)
tree8eac1def834ba548c45a8a1a18e8e39d45eedc1d /sfx2/source/doc
parent919a4ef592b6026a7533a93682f39118fef29ce8 (diff)
enhance useuniqueptr loplugin
teach it to look for the following sequence in a destructor: delete m_pfoo; m_pfoo = nullptr; Change-Id: Icd6271a63a024e32b53cc9e599f8f59952160380 Reviewed-on: https://gerrit.libreoffice.org/37900 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sfx2/source/doc')
-rw-r--r--sfx2/source/doc/sfxbasemodel.cxx20
1 files changed, 7 insertions, 13 deletions
diff --git a/sfx2/source/doc/sfxbasemodel.cxx b/sfx2/source/doc/sfxbasemodel.cxx
index 39743b8b83b5..c3cbdb3712ca 100644
--- a/sfx2/source/doc/sfxbasemodel.cxx
+++ b/sfx2/source/doc/sfxbasemodel.cxx
@@ -500,10 +500,6 @@ SfxBaseModel::SfxBaseModel( SfxObjectShell *pObjectShell )
// destructor
SfxBaseModel::~SfxBaseModel()
{
- //In SvxDrawingLayerImport when !xTargetDocument the fallback SvxUnoDrawingModel created there
- //never gets disposed called on it, so m_pData leaks.
- delete m_pData;
- m_pData = nullptr;
}
// XInterface
@@ -760,12 +756,10 @@ void SAL_CALL SfxBaseModel::dispose()
m_pData->m_xCurrent.clear();
m_pData->m_seqControllers.clear();
- // m_pData member must be set to zero before 0delete is called to
+ // m_pData member must be set to zero before delete is called to
// force disposed exception whenever someone tries to access our
// instance while in the dtor.
- IMPL_SfxBaseModel_DataContainer* pData = m_pData;
- m_pData = nullptr;
- delete pData;
+ m_pData.reset();
}
@@ -1471,7 +1465,7 @@ void SAL_CALL SfxBaseModel::storeSelf( const Sequence< beans::PropertyValue >
if ( m_pData->m_pObjectShell.is() )
{
- SfxSaveGuard aSaveGuard(this, m_pData);
+ SfxSaveGuard aSaveGuard(this, m_pData.get());
bool bCheckIn = false;
for ( sal_Int32 nInd = 0; nInd < aSeqArgs.getLength(); nInd++ )
@@ -1592,7 +1586,7 @@ void SAL_CALL SfxBaseModel::storeAsURL( const OUString& rURL
if ( m_pData->m_pObjectShell.is() )
{
- SfxSaveGuard aSaveGuard(this, m_pData);
+ SfxSaveGuard aSaveGuard(this, m_pData.get());
impl_store( rURL, rArgs, false );
@@ -1631,7 +1625,7 @@ void SAL_CALL SfxBaseModel::storeToURL( const OUString& rURL
if ( m_pData->m_pObjectShell.is() )
{
- SfxSaveGuard aSaveGuard(this, m_pData);
+ SfxSaveGuard aSaveGuard(this, m_pData.get());
try {
impl_store(rURL, rArgs, true);
}
@@ -1656,7 +1650,7 @@ void SAL_CALL SfxBaseModel::storeToRecoveryFile( const OUString& i_TargetLocatio
SfxModelGuard aGuard( *this );
// delegate
- SfxSaveGuard aSaveGuard( this, m_pData );
+ SfxSaveGuard aSaveGuard( this, m_pData.get() );
impl_store( i_TargetLocation, i_MediaDescriptor, true );
// no need for subsequent calls to storeToRecoveryFile, unless we're modified, again
@@ -3750,7 +3744,7 @@ bool SfxBaseModel::impl_getPrintHelper()
aValues[0] <<= Reference < frame::XModel > (static_cast< frame::XModel* >(this), UNO_QUERY );
xInit->initialize( aValues );
Reference < view::XPrintJobBroadcaster > xBrd( m_pData->m_xPrintable, UNO_QUERY );
- xBrd->addPrintJobListener( new SfxPrintHelperListener_Impl( m_pData ) );
+ xBrd->addPrintJobListener( new SfxPrintHelperListener_Impl( m_pData.get() ) );
return true;
}