From d1e47b1428abf1732ab4d5e219b210760d4152e0 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Mon, 22 May 2017 13:25:58 +0200 Subject: 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 Reviewed-by: Noel Grandin --- svtools/inc/vclxaccessibleheaderbaritem.hxx | 1 - svtools/source/contnr/imivctl.hxx | 2 +- svtools/source/contnr/imivctl2.cxx | 14 +++++--------- svtools/source/control/vclxaccessibleheaderbaritem.cxx | 4 +--- 4 files changed, 7 insertions(+), 14 deletions(-) (limited to 'svtools') diff --git a/svtools/inc/vclxaccessibleheaderbaritem.hxx b/svtools/inc/vclxaccessibleheaderbaritem.hxx index 5bdb0ac7de46..e3732f11e3c0 100644 --- a/svtools/inc/vclxaccessibleheaderbaritem.hxx +++ b/svtools/inc/vclxaccessibleheaderbaritem.hxx @@ -51,7 +51,6 @@ class VCLXAccessibleHeaderBarItem : public comphelper::OAccessibleExtendedCom public VCLXAccessibleHeaderBarItem_BASE { private: - VCLExternalSolarLock* m_pExternalLock; VclPtr m_pHeadBar; sal_Int32 m_nIndexInParent; diff --git a/svtools/source/contnr/imivctl.hxx b/svtools/source/contnr/imivctl.hxx index 7faf1a707fcd..fc3ccafceaa1 100644 --- a/svtools/source/contnr/imivctl.hxx +++ b/svtools/source/contnr/imivctl.hxx @@ -536,7 +536,7 @@ class IcnGridMap_Impl { tools::Rectangle _aLastOccupiedGrid; SvxIconChoiceCtrl_Impl* _pView; - bool * _pGridMap; + std::unique_ptr _pGridMap; sal_uInt16 _nGridCols, _nGridRows; void Expand(); diff --git a/svtools/source/contnr/imivctl2.cxx b/svtools/source/contnr/imivctl2.cxx index 8fc65811fe35..ae2532edd7dd 100644 --- a/svtools/source/contnr/imivctl2.cxx +++ b/svtools/source/contnr/imivctl2.cxx @@ -483,8 +483,6 @@ IcnGridMap_Impl::IcnGridMap_Impl(SvxIconChoiceCtrl_Impl* pView) IcnGridMap_Impl::~IcnGridMap_Impl() { - delete[] _pGridMap; - _pGridMap = nullptr; } void IcnGridMap_Impl::Expand() @@ -503,10 +501,9 @@ void IcnGridMap_Impl::Expand() size_t nNewCellCount = static_cast(nNewGridRows) * nNewGridCols; bool* pNewGridMap = new bool[nNewCellCount]; size_t nOldCellCount = static_cast(_nGridRows) * _nGridCols; - memcpy(pNewGridMap, _pGridMap, nOldCellCount * sizeof(bool)); + memcpy(pNewGridMap, _pGridMap.get(), nOldCellCount * sizeof(bool)); memset(pNewGridMap + nOldCellCount, 0, (nNewCellCount-nOldCellCount) * sizeof(bool)); - delete[] _pGridMap; - _pGridMap = pNewGridMap; + _pGridMap.reset( pNewGridMap ); _nGridRows = nNewGridRows; _nGridCols = nNewGridCols; } @@ -524,8 +521,8 @@ void IcnGridMap_Impl::Create_Impl() _nGridCols += 50; size_t nCellCount = static_cast(_nGridRows) * _nGridCols; - _pGridMap = new bool[nCellCount]; - memset(_pGridMap, 0, nCellCount * sizeof(bool)); + _pGridMap.reset( new bool[nCellCount] ); + memset(_pGridMap.get(), 0, nCellCount * sizeof(bool)); const size_t nCount = _pView->aEntries.size(); for( size_t nCur=0; nCur < nCount; nCur++ ) @@ -659,8 +656,7 @@ void IcnGridMap_Impl::Clear() { if( _pGridMap ) { - delete[] _pGridMap; - _pGridMap = nullptr; + _pGridMap.reset(); _nGridRows = 0; _nGridCols = 0; _aLastOccupiedGrid.SetEmpty(); diff --git a/svtools/source/control/vclxaccessibleheaderbaritem.cxx b/svtools/source/control/vclxaccessibleheaderbaritem.cxx index 2cba759d59a9..fe839a073c3f 100644 --- a/svtools/source/control/vclxaccessibleheaderbaritem.cxx +++ b/svtools/source/control/vclxaccessibleheaderbaritem.cxx @@ -52,13 +52,11 @@ VCLXAccessibleHeaderBarItem::VCLXAccessibleHeaderBarItem( HeaderBar* pHeadBar ,m_nIndexInParent(_nIndexInParent + 1) { - m_pExternalLock = static_cast< VCLExternalSolarLock* >( getExternalLock() ); } VCLXAccessibleHeaderBarItem::~VCLXAccessibleHeaderBarItem() { - delete m_pExternalLock; - m_pExternalLock = nullptr; + delete static_cast< VCLExternalSolarLock* >( getExternalLock() ); } void VCLXAccessibleHeaderBarItem::FillAccessibleStateSet( utl::AccessibleStateSetHelper& rStateSet ) -- cgit