diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-08-14 17:17:00 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-08-15 08:42:12 +0200 |
commit | 45c2eb2eced00c51198ea2e4e09a8c06d0a81305 (patch) | |
tree | b408e57f21e4007ea0397b6bbbaf30a597aa20cb /sw | |
parent | 92f9fcc99d103a572d42b00a0227e3d8d8303be6 (diff) |
loplugin:useuniqueptr in RedlineStack
Change-Id: I8e4f3599d30f94cfaa418f0adb35cf9fba97ff53
Reviewed-on: https://gerrit.libreoffice.org/59032
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/filter/inc/msfilter.hxx | 8 | ||||
-rw-r--r-- | sw/source/filter/ww8/writerhelper.cxx | 12 | ||||
-rw-r--r-- | sw/source/filter/ww8/ww8par.cxx | 3 | ||||
-rw-r--r-- | sw/source/filter/ww8/ww8par.hxx | 10 |
4 files changed, 16 insertions, 17 deletions
diff --git a/sw/source/filter/inc/msfilter.hxx b/sw/source/filter/inc/msfilter.hxx index 9cd6dec4455f..4babe2e56c95 100644 --- a/sw/source/filter/inc/msfilter.hxx +++ b/sw/source/filter/inc/msfilter.hxx @@ -292,7 +292,7 @@ namespace sw class RedlineStack { private: - std::vector<SwFltStackEntry *> maStack; + std::vector<std::unique_ptr<SwFltStackEntry>> maStack; SwDoc &mrDoc; RedlineStack(RedlineStack const&) = delete; @@ -315,7 +315,7 @@ namespace sw SwDoc &mrDoc; public: explicit SetInDocAndDelete(SwDoc &rDoc) : mrDoc(rDoc) {} - void operator()(SwFltStackEntry *pEntry); + void operator()(std::unique_ptr<SwFltStackEntry> & pEntry); private: SetInDocAndDelete& operator=(const SetInDocAndDelete&) = delete; }; @@ -326,7 +326,7 @@ namespace sw const SwPosition &mrPos; public: explicit SetEndIfOpen(const SwPosition &rPos) : mrPos(rPos) {} - void operator()(SwFltStackEntry *pEntry) const + void operator()(std::unique_ptr<SwFltStackEntry> & pEntry) const { if (pEntry->bOpen) pEntry->SetEndPos(mrPos); @@ -338,7 +338,7 @@ namespace sw class CompareRedlines { public: - bool operator()(const SwFltStackEntry *pOneE, const SwFltStackEntry *pTwoE) + bool operator()(const std::unique_ptr<SwFltStackEntry> & pOneE, const std::unique_ptr<SwFltStackEntry> & pTwoE) const; }; diff --git a/sw/source/filter/ww8/writerhelper.cxx b/sw/source/filter/ww8/writerhelper.cxx index 9e94dd9a3e17..03821f0b1696 100644 --- a/sw/source/filter/ww8/writerhelper.cxx +++ b/sw/source/filter/ww8/writerhelper.cxx @@ -682,7 +682,7 @@ namespace sw void RedlineStack::open(const SwPosition& rPos, const SfxPoolItem& rAttr) { OSL_ENSURE(rAttr.Which() == RES_FLTR_REDLINE, "not a redline"); - maStack.push_back(new SwFltStackEntry(rPos,rAttr.Clone())); + maStack.emplace_back(new SwFltStackEntry(rPos,rAttr.Clone())); } class SameOpenRedlineType @@ -691,7 +691,7 @@ namespace sw RedlineType_t meType; public: explicit SameOpenRedlineType(RedlineType_t eType) : meType(eType) {} - bool operator()(const SwFltStackEntry *pEntry) const + bool operator()(const std::unique_ptr<SwFltStackEntry> & pEntry) const { const SwFltRedline *pTest = static_cast<const SwFltRedline *> (pEntry->pAttr.get()); @@ -771,7 +771,7 @@ namespace sw } } - void SetInDocAndDelete::operator()(SwFltStackEntry *pEntry) + void SetInDocAndDelete::operator()(std::unique_ptr<SwFltStackEntry>& pEntry) { SwPaM aRegion(pEntry->m_aMkPos.m_nNode); if ( @@ -805,11 +805,11 @@ namespace sw mrDoc.getIDocumentRedlineAccess().SetRedlineFlags(RedlineFlags::NONE | RedlineFlags::ShowInsert | RedlineFlags::ShowDelete ); } - delete pEntry; + pEntry.reset(); } - bool CompareRedlines::operator()(const SwFltStackEntry *pOneE, - const SwFltStackEntry *pTwoE) const + bool CompareRedlines::operator()(const std::unique_ptr<SwFltStackEntry> & pOneE, + const std::unique_ptr<SwFltStackEntry> & pTwoE) const { const SwFltRedline *pOne= static_cast<const SwFltRedline*> (pOneE->pAttr.get()); diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx index 648752df60fc..c6f7248de8d3 100644 --- a/sw/source/filter/ww8/ww8par.cxx +++ b/sw/source/filter/ww8/ww8par.cxx @@ -4281,13 +4281,12 @@ SwWW8ImplReader::~SwWW8ImplReader() { } -void SwWW8ImplReader::DeleteStack(SwFltControlStack* pStck) +void SwWW8ImplReader::DeleteStack(std::unique_ptr<SwFltControlStack> pStck) { if( pStck ) { pStck->SetAttr( *m_pPaM->GetPoint(), 0, false); pStck->SetAttr( *m_pPaM->GetPoint(), 0, false); - delete pStck; } else { diff --git a/sw/source/filter/ww8/ww8par.hxx b/sw/source/filter/ww8/ww8par.hxx index 2e1baeac0778..ccab8afb730a 100644 --- a/sw/source/filter/ww8/ww8par.hxx +++ b/sw/source/filter/ww8/ww8par.hxx @@ -1395,19 +1395,19 @@ private: void CopyPageDescHdFt( const SwPageDesc* pOrgPageDesc, SwPageDesc* pNewPageDesc, sal_uInt8 nCode ); - void DeleteStack(SwFltControlStack* prStck); + void DeleteStack(std::unique_ptr<SwFltControlStack> prStck); void DeleteCtrlStack() { - DeleteStack(m_xCtrlStck.release()); + DeleteStack(std::move(m_xCtrlStck)); } void DeleteRefStacks() { - DeleteStack(m_xReffedStck.release()); - DeleteStack(m_xReffingStck.release()); + DeleteStack(std::move(m_xReffedStck)); + DeleteStack(std::move(m_xReffingStck)); } void DeleteAnchorStack() { - DeleteStack(m_xAnchorStck.release()); + DeleteStack(std::move(m_xAnchorStck)); } void emulateMSWordAddTextToParagraph(const OUString& rAddString); void simpleAddTextToParagraph(const OUString& rAddString); |