[Libreoffice-commits] core.git: sc/source

Jan-Marek Glogowski glogow at fbihome.de
Thu Apr 6 13:26:22 UTC 2017


 sc/source/ui/view/viewfunc.cxx |   11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

New commits:
commit b02f05981ffe837b94d4a437c32ea1f9b7b7c883
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Thu Apr 6 14:21:06 2017 +0200

    loplugin:useuniqueptr for ScViewFunc::InsertName
    
    Change-Id: Idf0b08a86f9b8043b3b886a0b15b2ac0fbb905fb
    Reviewed-on: https://gerrit.libreoffice.org/36209
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx
index 43d661a12f2a..ef742edc5478 100644
--- a/sc/source/ui/view/viewfunc.cxx
+++ b/sc/source/ui/view/viewfunc.cxx
@@ -2663,9 +2663,9 @@ bool ScViewFunc::InsertName( const OUString& rName, const OUString& rSymbol,
     ScRangeName* pList = rDoc.GetRangeName();
 
     ScRangeData::Type nType = ScRangeData::Type::Name;
-    ScRangeData* pNewEntry = new ScRangeData( &rDoc, rName, rSymbol,
-            ScAddress( GetViewData().GetCurX(), GetViewData().GetCurY(),
-                nTab), nType );
+    std::unique_ptr<ScRangeData> pNewEntry(new ScRangeData(
+        &rDoc, rName, rSymbol, ScAddress( GetViewData().GetCurX(),
+        GetViewData().GetCurY(), nTab), nType ));
     OUString aUpType = rType.toAsciiUpperCase();
     if ( aUpType.indexOf( 'P' ) != -1 )
         nType |= ScRangeData::Type::PrintArea;
@@ -2691,9 +2691,9 @@ bool ScViewFunc::InsertName( const OUString& rName, const OUString& rSymbol,
             pList->erase(*pData);
         }
 
-        if ( pList->insert( pNewEntry ) )
+        // don't delete, insert took ownership, even on failure!
+        if ( pList->insert( pNewEntry.release() ) )
             bOk = true;
-        pNewEntry = nullptr;   // never delete, insert took ownership
 
         rDoc.CompileHybridFormula();
 
@@ -2701,7 +2701,6 @@ bool ScViewFunc::InsertName( const OUString& rName, const OUString& rSymbol,
         SfxGetpApp()->Broadcast( SfxHint( SfxHintId::ScAreasChanged ) );
     }
 
-    delete pNewEntry;       // if it wasn't inserted
     return bOk;
 }
 


More information about the Libreoffice-commits mailing list