Kaydet (Commit) 45c2eb2e authored tarafından Noel Grandin's avatar Noel Grandin

loplugin:useuniqueptr in RedlineStack

Change-Id: I8e4f3599d30f94cfaa418f0adb35cf9fba97ff53
Reviewed-on: https://gerrit.libreoffice.org/59032
Tested-by: Jenkins
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 92f9fcc9
...@@ -292,7 +292,7 @@ namespace sw ...@@ -292,7 +292,7 @@ namespace sw
class RedlineStack class RedlineStack
{ {
private: private:
std::vector<SwFltStackEntry *> maStack; std::vector<std::unique_ptr<SwFltStackEntry>> maStack;
SwDoc &mrDoc; SwDoc &mrDoc;
RedlineStack(RedlineStack const&) = delete; RedlineStack(RedlineStack const&) = delete;
...@@ -315,7 +315,7 @@ namespace sw ...@@ -315,7 +315,7 @@ namespace sw
SwDoc &mrDoc; SwDoc &mrDoc;
public: public:
explicit SetInDocAndDelete(SwDoc &rDoc) : mrDoc(rDoc) {} explicit SetInDocAndDelete(SwDoc &rDoc) : mrDoc(rDoc) {}
void operator()(SwFltStackEntry *pEntry); void operator()(std::unique_ptr<SwFltStackEntry> & pEntry);
private: private:
SetInDocAndDelete& operator=(const SetInDocAndDelete&) = delete; SetInDocAndDelete& operator=(const SetInDocAndDelete&) = delete;
}; };
...@@ -326,7 +326,7 @@ namespace sw ...@@ -326,7 +326,7 @@ namespace sw
const SwPosition &mrPos; const SwPosition &mrPos;
public: public:
explicit SetEndIfOpen(const SwPosition &rPos) : mrPos(rPos) {} explicit SetEndIfOpen(const SwPosition &rPos) : mrPos(rPos) {}
void operator()(SwFltStackEntry *pEntry) const void operator()(std::unique_ptr<SwFltStackEntry> & pEntry) const
{ {
if (pEntry->bOpen) if (pEntry->bOpen)
pEntry->SetEndPos(mrPos); pEntry->SetEndPos(mrPos);
...@@ -338,7 +338,7 @@ namespace sw ...@@ -338,7 +338,7 @@ namespace sw
class CompareRedlines class CompareRedlines
{ {
public: public:
bool operator()(const SwFltStackEntry *pOneE, const SwFltStackEntry *pTwoE) bool operator()(const std::unique_ptr<SwFltStackEntry> & pOneE, const std::unique_ptr<SwFltStackEntry> & pTwoE)
const; const;
}; };
......
...@@ -682,7 +682,7 @@ namespace sw ...@@ -682,7 +682,7 @@ namespace sw
void RedlineStack::open(const SwPosition& rPos, const SfxPoolItem& rAttr) void RedlineStack::open(const SwPosition& rPos, const SfxPoolItem& rAttr)
{ {
OSL_ENSURE(rAttr.Which() == RES_FLTR_REDLINE, "not a redline"); 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 class SameOpenRedlineType
...@@ -691,7 +691,7 @@ namespace sw ...@@ -691,7 +691,7 @@ namespace sw
RedlineType_t meType; RedlineType_t meType;
public: public:
explicit SameOpenRedlineType(RedlineType_t eType) : meType(eType) {} 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 *> const SwFltRedline *pTest = static_cast<const SwFltRedline *>
(pEntry->pAttr.get()); (pEntry->pAttr.get());
...@@ -771,7 +771,7 @@ namespace sw ...@@ -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); SwPaM aRegion(pEntry->m_aMkPos.m_nNode);
if ( if (
...@@ -805,11 +805,11 @@ namespace sw ...@@ -805,11 +805,11 @@ namespace sw
mrDoc.getIDocumentRedlineAccess().SetRedlineFlags(RedlineFlags::NONE | RedlineFlags::ShowInsert | mrDoc.getIDocumentRedlineAccess().SetRedlineFlags(RedlineFlags::NONE | RedlineFlags::ShowInsert |
RedlineFlags::ShowDelete ); RedlineFlags::ShowDelete );
} }
delete pEntry; pEntry.reset();
} }
bool CompareRedlines::operator()(const SwFltStackEntry *pOneE, bool CompareRedlines::operator()(const std::unique_ptr<SwFltStackEntry> & pOneE,
const SwFltStackEntry *pTwoE) const const std::unique_ptr<SwFltStackEntry> & pTwoE) const
{ {
const SwFltRedline *pOne= static_cast<const SwFltRedline*> const SwFltRedline *pOne= static_cast<const SwFltRedline*>
(pOneE->pAttr.get()); (pOneE->pAttr.get());
......
...@@ -4281,13 +4281,12 @@ SwWW8ImplReader::~SwWW8ImplReader() ...@@ -4281,13 +4281,12 @@ SwWW8ImplReader::~SwWW8ImplReader()
{ {
} }
void SwWW8ImplReader::DeleteStack(SwFltControlStack* pStck) void SwWW8ImplReader::DeleteStack(std::unique_ptr<SwFltControlStack> pStck)
{ {
if( pStck ) if( pStck )
{ {
pStck->SetAttr( *m_pPaM->GetPoint(), 0, false); pStck->SetAttr( *m_pPaM->GetPoint(), 0, false);
pStck->SetAttr( *m_pPaM->GetPoint(), 0, false); pStck->SetAttr( *m_pPaM->GetPoint(), 0, false);
delete pStck;
} }
else else
{ {
......
...@@ -1395,19 +1395,19 @@ private: ...@@ -1395,19 +1395,19 @@ private:
void CopyPageDescHdFt( const SwPageDesc* pOrgPageDesc, void CopyPageDescHdFt( const SwPageDesc* pOrgPageDesc,
SwPageDesc* pNewPageDesc, sal_uInt8 nCode ); SwPageDesc* pNewPageDesc, sal_uInt8 nCode );
void DeleteStack(SwFltControlStack* prStck); void DeleteStack(std::unique_ptr<SwFltControlStack> prStck);
void DeleteCtrlStack() void DeleteCtrlStack()
{ {
DeleteStack(m_xCtrlStck.release()); DeleteStack(std::move(m_xCtrlStck));
} }
void DeleteRefStacks() void DeleteRefStacks()
{ {
DeleteStack(m_xReffedStck.release()); DeleteStack(std::move(m_xReffedStck));
DeleteStack(m_xReffingStck.release()); DeleteStack(std::move(m_xReffingStck));
} }
void DeleteAnchorStack() void DeleteAnchorStack()
{ {
DeleteStack(m_xAnchorStck.release()); DeleteStack(std::move(m_xAnchorStck));
} }
void emulateMSWordAddTextToParagraph(const OUString& rAddString); void emulateMSWordAddTextToParagraph(const OUString& rAddString);
void simpleAddTextToParagraph(const OUString& rAddString); void simpleAddTextToParagraph(const OUString& rAddString);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment