diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-05-22 13:25:58 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-05-23 09:31:20 +0200 |
commit | d1e47b1428abf1732ab4d5e219b210760d4152e0 (patch) | |
tree | 8eac1def834ba548c45a8a1a18e8e39d45eedc1d /svtools | |
parent | 919a4ef592b6026a7533a93682f39118fef29ce8 (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 'svtools')
-rw-r--r-- | svtools/inc/vclxaccessibleheaderbaritem.hxx | 1 | ||||
-rw-r--r-- | svtools/source/contnr/imivctl.hxx | 2 | ||||
-rw-r--r-- | svtools/source/contnr/imivctl2.cxx | 14 | ||||
-rw-r--r-- | svtools/source/control/vclxaccessibleheaderbaritem.cxx | 4 |
4 files changed, 7 insertions, 14 deletions
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<HeaderBar> 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<bool[]> _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<size_t>(nNewGridRows) * nNewGridCols; bool* pNewGridMap = new bool[nNewCellCount]; size_t nOldCellCount = static_cast<size_t>(_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<size_t>(_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 ) |