summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-08-14 17:17:00 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-08-15 08:42:12 +0200
commit45c2eb2eced00c51198ea2e4e09a8c06d0a81305 (patch)
treeb408e57f21e4007ea0397b6bbbaf30a597aa20cb /sw
parent92f9fcc99d103a572d42b00a0227e3d8d8303be6 (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.hxx8
-rw-r--r--sw/source/filter/ww8/writerhelper.cxx12
-rw-r--r--sw/source/filter/ww8/ww8par.cxx3
-rw-r--r--sw/source/filter/ww8/ww8par.hxx10
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);