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

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Aug 17 06:24:07 UTC 2018


 sw/source/filter/ww8/ww8par.hxx  |    2 +-
 sw/source/filter/ww8/ww8par3.cxx |   21 ++++++++++-----------
 2 files changed, 11 insertions(+), 12 deletions(-)

New commits:
commit c751fd0ebd6724fe2b8ee9f308841cabbb002391
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Thu Aug 16 11:44:52 2018 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Fri Aug 17 08:23:36 2018 +0200

    loplugin:useuniqueptr in WW8ListManager
    
    Change-Id: Ibd6486889797a4e660c63377a1fd3d577747aec0
    Reviewed-on: https://gerrit.libreoffice.org/59229
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/sw/source/filter/ww8/ww8par.hxx b/sw/source/filter/ww8/ww8par.hxx
index ccab8afb730a..64c49ba6c5a1 100644
--- a/sw/source/filter/ww8/ww8par.hxx
+++ b/sw/source/filter/ww8/ww8par.hxx
@@ -162,7 +162,7 @@ private:
     SwDoc&           rDoc;
     const WW8Fib&    rFib;
     SvStream&        rSt;
-    std::vector<WW8LSTInfo* > maLSTInfos;
+    std::vector<std::unique_ptr<WW8LSTInfo>> maLSTInfos;
     std::vector<std::unique_ptr<WW8LFOInfo>> m_LFOInfos;// D. from PLF LFO, sorted exactly like in the WW8 Stream
     sal_uInt16       nUniqueList; // current number for creating unique list names
     SprmResult GrpprlHasSprm(sal_uInt16 nId, sal_uInt8& rSprms, sal_uInt8 nLen);
diff --git a/sw/source/filter/ww8/ww8par3.cxx b/sw/source/filter/ww8/ww8par3.cxx
index 9d77bb574592..bda1388f5034 100644
--- a/sw/source/filter/ww8/ww8par3.cxx
+++ b/sw/source/filter/ww8/ww8par3.cxx
@@ -451,18 +451,18 @@ private:
     sal_uInt32 mnIdLst;
 public:
     explicit ListWithId(sal_uInt32 nIdLst) : mnIdLst(nIdLst) {}
-    bool operator() (const WW8LSTInfo *pEntry) const
+    bool operator() (const std::unique_ptr<WW8LSTInfo>& pEntry) const
         { return (pEntry->nIdLst == mnIdLst); }
 };
 
 // Access via List-Id of LST Entry
 WW8LSTInfo* WW8ListManager::GetLSTByListId( sal_uInt32 nIdLst ) const
 {
-    std::vector<WW8LSTInfo *>::const_iterator aResult =
+    auto aResult =
         std::find_if(maLSTInfos.begin(),maLSTInfos.end(),ListWithId(nIdLst));
     if (aResult == maLSTInfos.end())
         return nullptr;
-    return *aResult;
+    return aResult->get();
 }
 
 static void lcl_CopyGreaterEight(OUString &rDest, OUString const &rSrc,
@@ -1216,7 +1216,7 @@ WW8ListManager::WW8ListManager(SvStream& rSt_, SwWW8ImplReader& rReader_)
             aLST.bSimpleList || (aBits1 & 0x10));
 
         WW8LSTInfo* pLSTInfo = new WW8LSTInfo(pMyNumRule, aLST);
-        maLSTInfos.push_back(pLSTInfo);
+        maLSTInfos.emplace_back(pLSTInfo);
 
         nRemainingPlcfLst -= cbLSTF;
     }
@@ -1228,7 +1228,7 @@ WW8ListManager::WW8ListManager(SvStream& rSt_, SwWW8ImplReader& rReader_)
     {
         WW8aISet aItemSet;        // Character attributes from GrpprlChpx
 
-        WW8LSTInfo* pListInfo = maLSTInfos[nList];
+        WW8LSTInfo* pListInfo = maLSTInfos[nList].get();
         if( !pListInfo || !pListInfo->pNumRule ) break;
         SwNumRule& rMyNumRule = *pListInfo->pNumRule;
 
@@ -1474,15 +1474,14 @@ WW8ListManager::~WW8ListManager() COVERITY_NOEXCEPT_FALSE
      named lists remain in document
      unused automatic lists are removed from document (DelNumRule)
     */
-    for(std::vector<WW8LSTInfo *>::iterator aIter = maLSTInfos.begin();
-        aIter != maLSTInfos.end(); ++aIter)
+    for(auto & rpInfo : maLSTInfos)
     {
-        if ((*aIter)->pNumRule && !(*aIter)->bUsedInDoc &&
-            (*aIter)->pNumRule->IsAutoRule())
+        if (rpInfo->pNumRule && !rpInfo->bUsedInDoc &&
+            rpInfo->pNumRule->IsAutoRule())
         {
-            rDoc.DelNumRule((*aIter)->pNumRule->GetName());
+            rDoc.DelNumRule(rpInfo->pNumRule->GetName());
         }
-        delete *aIter;
+        rpInfo.reset();
     }
     for (auto aIter = m_LFOInfos.rbegin(); aIter != m_LFOInfos.rend(); ++aIter)
     {


More information about the Libreoffice-commits mailing list