summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-06-28 13:46:10 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-06-29 11:42:28 +0200
commitab1bba8de47aa0ca1ba49f1624358558400b2b26 (patch)
treedb418569bf245f215ed3d21e47db715fc5e11dd8
parent744feb55a11263ae0947ab59db76b949b5863acf (diff)
loplugin:useuniqueptr in SwPostItField
Change-Id: I1d048ac400d6a929a840bcb8f0df52be528c0a5b Reviewed-on: https://gerrit.libreoffice.org/56623 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--sw/inc/docufld.hxx6
-rw-r--r--sw/source/core/fields/docufld.cxx18
-rw-r--r--sw/source/core/unocore/unofield.cxx4
-rw-r--r--sw/source/filter/ww8/ww8graf.cxx6
-rw-r--r--sw/source/filter/ww8/ww8par.cxx5
-rw-r--r--sw/source/filter/ww8/ww8par.hxx2
-rw-r--r--sw/source/uibase/docvw/AnnotationWin.cxx4
7 files changed, 21 insertions, 24 deletions
diff --git a/sw/inc/docufld.hxx b/sw/inc/docufld.hxx
index 28dc230ce8fb..8afc0a1e425a 100644
--- a/sw/inc/docufld.hxx
+++ b/sw/inc/docufld.hxx
@@ -444,7 +444,7 @@ class SW_DLLPUBLIC SwPostItField : public SwField
OUString m_sInitials; ///< Initials of the author.
OUString m_sName; ///< Name of the comment.
DateTime m_aDateTime;
- OutlinerParaObject* mpText;
+ std::unique_ptr<OutlinerParaObject> mpText;
rtl::Reference<SwTextAPIObject> m_xTextObject;
sal_uInt32 m_nPostItId;
@@ -484,8 +484,8 @@ public:
void SetName(const OUString& rStr);
const OUString& GetName() const { return m_sName;}
- const OutlinerParaObject* GetTextObject() const { return mpText;}
- void SetTextObject( OutlinerParaObject* pText );
+ const OutlinerParaObject* GetTextObject() const { return mpText.get();}
+ void SetTextObject( std::unique_ptr<OutlinerParaObject> pText );
sal_Int32 GetNumberOfParagraphs() const;
diff --git a/sw/source/core/fields/docufld.cxx b/sw/source/core/fields/docufld.cxx
index c89f26f4b2e0..051c5f06b457 100644
--- a/sw/source/core/fields/docufld.cxx
+++ b/sw/source/core/fields/docufld.cxx
@@ -34,6 +34,7 @@
#include <com/sun/star/util/Date.hpp>
#include <com/sun/star/util/Duration.hpp>
#include <o3tl/any.hxx>
+#include <o3tl/make_unique.hxx>
#include <unotools/localedatawrapper.hxx>
#include <editeng/unolingu.hxx>
#include <comphelper/processfactory.hxx>
@@ -1762,7 +1763,7 @@ SwPostItField::~SwPostItField()
m_xTextObject->DisposeEditSource();
}
- delete mpText;
+ mpText.reset();
}
OUString SwPostItField::Expand() const
@@ -1780,7 +1781,7 @@ SwField* SwPostItField::Copy() const
SwPostItField* pRet = new SwPostItField( static_cast<SwPostItFieldType*>(GetTyp()), m_sAuthor, m_sText, m_sInitials, m_sName,
m_aDateTime, m_nPostItId);
if (mpText)
- pRet->SetTextObject( new OutlinerParaObject(*mpText) );
+ pRet->SetTextObject( o3tl::make_unique<OutlinerParaObject>(*mpText) );
// Note: member <m_xTextObject> not copied.
@@ -1818,10 +1819,9 @@ void SwPostItField::SetName(const OUString& rName)
}
-void SwPostItField::SetTextObject( OutlinerParaObject* pText )
+void SwPostItField::SetTextObject( std::unique_ptr<OutlinerParaObject> pText )
{
- delete mpText;
- mpText = pText;
+ mpText = std::move(pText);
}
sal_Int32 SwPostItField::GetNumberOfParagraphs() const
@@ -1892,11 +1892,7 @@ bool SwPostItField::PutValue( const uno::Any& rAny, sal_uInt16 nWhichId )
case FIELD_PROP_PAR2:
rAny >>= m_sText;
//#i100374# new string via api, delete complex text object so SwPostItNote picks up the new string
- if (mpText)
- {
- delete mpText;
- mpText = nullptr;
- }
+ mpText.reset();
break;
case FIELD_PROP_PAR3:
rAny >>= m_sInitials;
@@ -1935,7 +1931,7 @@ void SwPostItField::dumpAsXml(xmlTextWriterPtr pWriter) const
SwField::dumpAsXml(pWriter);
xmlTextWriterStartElement(pWriter, BAD_CAST("mpText"));
- xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("ptr"), "%p", mpText);
+ xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("ptr"), "%p", mpText.get());
if (mpText)
mpText->dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
diff --git a/sw/source/core/unocore/unofield.cxx b/sw/source/core/unocore/unofield.cxx
index b3e11d502d3a..00c8677a5136 100644
--- a/sw/source/core/unocore/unofield.cxx
+++ b/sw/source/core/unocore/unofield.cxx
@@ -20,7 +20,7 @@
#include <config_features.h>
#include <sal/config.h>
-
+#include <editeng/outlobj.hxx>
#include <algorithm>
#include <memory>
@@ -1354,7 +1354,7 @@ void SAL_CALL SwXTextField::attach(
aDateTime );
if ( m_pImpl->m_xTextObject.is() )
{
- pPostItField->SetTextObject( m_pImpl->m_xTextObject->CreateText() );
+ pPostItField->SetTextObject( std::unique_ptr<OutlinerParaObject>(m_pImpl->m_xTextObject->CreateText()) );
pPostItField->SetPar2(m_pImpl->m_xTextObject->GetText());
}
xField.reset(pPostItField);
diff --git a/sw/source/filter/ww8/ww8graf.cxx b/sw/source/filter/ww8/ww8graf.cxx
index 7a0ce8b9bb89..cca597c50413 100644
--- a/sw/source/filter/ww8/ww8graf.cxx
+++ b/sw/source/filter/ww8/ww8graf.cxx
@@ -952,9 +952,9 @@ void removePositions(EditEngine &rDrawEditEngine, const std::vector<sal_Int32>&
}
}
-OutlinerParaObject* SwWW8ImplReader::ImportAsOutliner(OUString &rString, WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType)
+std::unique_ptr<OutlinerParaObject> SwWW8ImplReader::ImportAsOutliner(OUString &rString, WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType)
{
- OutlinerParaObject* pRet = nullptr;
+ std::unique_ptr<OutlinerParaObject> pRet;
sal_Int32 nLen = GetRangeAsDrawingString(rString, nStartCp, nEndCp, eType);
if (nLen > 0)
@@ -984,7 +984,7 @@ OutlinerParaObject* SwWW8ImplReader::ImportAsOutliner(OUString &rString, WW8_CP
}
std::unique_ptr<EditTextObject> pTemporaryText = m_pDrawEditEngine->CreateTextObject();
- pRet = new OutlinerParaObject(*pTemporaryText);
+ pRet.reset( new OutlinerParaObject(*pTemporaryText) );
pRet->SetOutlinerMode( OutlinerMode::TextObject );
pTemporaryText.reset();
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index 7860245bd411..f5c723f2d30e 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -41,6 +41,7 @@
#include <comphelper/docpasswordrequest.hxx>
#include <comphelper/propertysequence.hxx>
+#include <editeng/outlobj.hxx>
#include <editeng/brushitem.hxx>
#include <editeng/tstpitem.hxx>
#include <editeng/ulspitem.hxx>
@@ -2119,14 +2120,14 @@ long SwWW8ImplReader::Read_And(WW8PLCFManResult* pRes)
DateTime aDate = msfilter::util::DTTM2DateTime(nDateTime);
OUString sText;
- OutlinerParaObject *pOutliner = ImportAsOutliner( sText, pRes->nCp2OrIdx,
+ std::unique_ptr<OutlinerParaObject> pOutliner = ImportAsOutliner( sText, pRes->nCp2OrIdx,
pRes->nCp2OrIdx + pRes->nMemLen, MAN_AND );
m_pFormatOfJustInsertedApo = nullptr;
SwPostItField aPostIt(
static_cast<SwPostItFieldType*>(m_rDoc.getIDocumentFieldsAccess().GetSysFieldType(SwFieldIds::Postit)), sAuthor,
sText, sInitials, OUString(), aDate );
- aPostIt.SetTextObject(pOutliner);
+ aPostIt.SetTextObject(std::move(pOutliner));
SwPaM aEnd(*m_pPaM->End(), *m_pPaM->End());
m_xCtrlStck->NewAttr(*aEnd.GetPoint(), SvxCharHiddenItem(false, RES_CHRATR_HIDDEN));
diff --git a/sw/source/filter/ww8/ww8par.hxx b/sw/source/filter/ww8/ww8par.hxx
index 289303da11c1..c50e9c6484af 100644
--- a/sw/source/filter/ww8/ww8par.hxx
+++ b/sw/source/filter/ww8/ww8par.hxx
@@ -1578,7 +1578,7 @@ private:
bool GetTxbxTextSttEndCp(WW8_CP& rStartCp, WW8_CP& rEndCp, sal_uInt16 nTxBxS,
sal_uInt16 nSequence);
sal_Int32 GetRangeAsDrawingString(OUString& rString, long StartCp, long nEndCp, ManTypes eType);
- OutlinerParaObject* ImportAsOutliner(OUString &rString, WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType);
+ std::unique_ptr<OutlinerParaObject> ImportAsOutliner(OUString &rString, WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType);
void InsertTxbxText(SdrTextObj* pTextObj, Size const * pObjSiz,
sal_uInt16 nTxBxS, sal_uInt16 nSequence, long nPosCp, SwFrameFormat const * pFlyFormat,
bool bMakeSdrGrafObj, bool& rbEraseTextObj,
diff --git a/sw/source/uibase/docvw/AnnotationWin.cxx b/sw/source/uibase/docvw/AnnotationWin.cxx
index 7fef02cdf522..4b641a57dfa9 100644
--- a/sw/source/uibase/docvw/AnnotationWin.cxx
+++ b/sw/source/uibase/docvw/AnnotationWin.cxx
@@ -241,7 +241,7 @@ void SwAnnotationWin::UpdateData()
pOldField.reset(mpField->Copy());
}
mpField->SetPar2(mpOutliner->GetEditEngine().GetText());
- mpField->SetTextObject(mpOutliner->CreateParaObject());
+ mpField->SetTextObject(std::unique_ptr<OutlinerParaObject>(mpOutliner->CreateParaObject()));
if (rUndoRedo.DoesUndo())
{
SwTextField *const pTextField = mpFormatField->GetTextField();
@@ -404,7 +404,7 @@ void SwAnnotationWin::InitAnswer(OutlinerParaObject const * pText)
pOldField.reset(mpField->Copy());
}
mpField->SetPar2(mpOutliner->GetEditEngine().GetText());
- mpField->SetTextObject(mpOutliner->CreateParaObject());
+ mpField->SetTextObject(std::unique_ptr<OutlinerParaObject>(mpOutliner->CreateParaObject()));
if (rUndoRedo.DoesUndo())
{
SwTextField *const pTextField = mpFormatField->GetTextField();