summaryrefslogtreecommitdiff
path: root/svtools
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 /svtools
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 'svtools')
-rw-r--r--svtools/inc/vclxaccessibleheaderbaritem.hxx1
-rw-r--r--svtools/source/contnr/imivctl.hxx2
-rw-r--r--svtools/source/contnr/imivctl2.cxx14
-rw-r--r--svtools/source/control/vclxaccessibleheaderbaritem.cxx4
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 )