diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-02-05 11:33:20 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-02-07 09:15:32 +0100 |
commit | c4257244afa0490c18a43ec2039a11f1c48935cc (patch) | |
tree | c60405e20142b1fc894dabac9f57ec1007e769de /svx | |
parent | afeda72187e69d7bc8d7e37d98cce7601e2ffde8 (diff) |
loplugin:useuniqueptr in SdrText
Change-Id: I23cc319707132c28725acdb8be0bea275025b9e5
Reviewed-on: https://gerrit.libreoffice.org/49332
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/svdraw/svdtext.cxx | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/svx/source/svdraw/svdtext.cxx b/svx/source/svdraw/svdtext.cxx index 48621a84560d..a4875dc20a1f 100644 --- a/svx/source/svdraw/svdtext.cxx +++ b/svx/source/svdraw/svdtext.cxx @@ -40,7 +40,6 @@ SdrText::SdrText( SdrTextObj& rObject, OutlinerParaObject* pOutlinerParaObject / SdrText::~SdrText() { clearWeak(); - delete mpOutlinerParaObject; } void SdrText::CheckPortionInfo( SdrOutliner& rOutliner ) @@ -57,8 +56,7 @@ void SdrText::CheckPortionInfo( SdrOutliner& rOutliner ) if(mpOutlinerParaObject!=nullptr && rOutliner.ShouldCreateBigTextObject()) { // #i102062# MemoryLeak closed - delete mpOutlinerParaObject; - mpOutlinerParaObject = rOutliner.CreateParaObject(); + mpOutlinerParaObject.reset( rOutliner.CreateParaObject() ); } } } @@ -76,19 +74,17 @@ const SfxItemSet& SdrText::GetItemSet() const void SdrText::SetOutlinerParaObject( OutlinerParaObject* pTextObject ) { - if( mpOutlinerParaObject != pTextObject ) + if( mpOutlinerParaObject.get() != pTextObject ) { if( mpModel ) { // Update HitTestOutliner const SdrTextObj* pTestObj = mpModel->GetHitTestOutliner().GetTextObj(); - if( pTestObj && pTestObj->GetOutlinerParaObject() == mpOutlinerParaObject ) + if( pTestObj && pTestObj->GetOutlinerParaObject() == mpOutlinerParaObject.get() ) mpModel->GetHitTestOutliner().SetTextObj( nullptr ); } - delete mpOutlinerParaObject; - - mpOutlinerParaObject = pTextObject; + mpOutlinerParaObject.reset(pTextObject); mbPortionInfoChecked = false; } @@ -96,7 +92,7 @@ void SdrText::SetOutlinerParaObject( OutlinerParaObject* pTextObject ) OutlinerParaObject* SdrText::GetOutlinerParaObject() const { - return mpOutlinerParaObject; + return mpOutlinerParaObject.get(); } /** returns the current OutlinerParaObject and removes it from this instance */ @@ -106,13 +102,12 @@ OutlinerParaObject* SdrText::RemoveOutlinerParaObject() { // Update HitTestOutliner const SdrTextObj* pTestObj = mpModel->GetHitTestOutliner().GetTextObj(); - if( pTestObj && pTestObj->GetOutlinerParaObject() == mpOutlinerParaObject ) + if( pTestObj && pTestObj->GetOutlinerParaObject() == mpOutlinerParaObject.get() ) mpModel->GetHitTestOutliner().SetTextObj( nullptr ); } - OutlinerParaObject* pOPO = mpOutlinerParaObject; + OutlinerParaObject* pOPO = mpOutlinerParaObject.release(); - mpOutlinerParaObject = nullptr; mbPortionInfoChecked = false; return pOPO; @@ -151,8 +146,7 @@ void SdrText::SetModel( SdrModel* pNewModel ) // now use the Outliner, etc. so the above SetAttr can work at all SdrOutliner& rOutliner = mrObject.ImpGetDrawOutliner(); rOutliner.SetText(*mpOutlinerParaObject); - delete mpOutlinerParaObject; - mpOutlinerParaObject=nullptr; + mpOutlinerParaObject.reset(); if (bScaleUnitChanged) { Fraction aMetricFactor=GetMapFactor(aOldUnit,aNewUnit).X(); |