summaryrefslogtreecommitdiff
path: root/sw/inc
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-07-04 10:07:46 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-07-10 12:27:54 +0200
commit1a33947a91685808fd5f6d4903b6ae896686066d (patch)
tree2a9454c3df148a16c3d4b14c3cfd1c9e10916da3 /sw/inc
parentb7e75f974962db49d29d2f5261dce4de5cd42d3e (diff)
pass SwField around by std::unique_ptr
Fix leak in SwFieldPage::InsertField, where it interacts badly with SwFieldMgr::UpdateCurField The awkward return std::unique_ptr<SwField>(pTmp.release()); code is because clang 3.8.0 doesn't seem able to do auto-upcast of std::unique_ptr. Change-Id: I05b748e9cda145fd972a01bfa343239df32368b9 Reviewed-on: https://gerrit.libreoffice.org/57197 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw/inc')
-rw-r--r--sw/inc/SwUndoField.hxx2
-rw-r--r--sw/inc/authfld.hxx2
-rw-r--r--sw/inc/chpfld.hxx2
-rw-r--r--sw/inc/dbfld.hxx10
-rw-r--r--sw/inc/ddefld.hxx2
-rw-r--r--sw/inc/docufld.hxx32
-rw-r--r--sw/inc/expfld.hxx8
-rw-r--r--sw/inc/fldbas.hxx4
-rw-r--r--sw/inc/flddat.hxx2
-rw-r--r--sw/inc/flddropdown.hxx2
-rw-r--r--sw/inc/fmtfld.hxx8
-rw-r--r--sw/inc/reffld.hxx2
-rw-r--r--sw/inc/usrfld.hxx2
13 files changed, 39 insertions, 39 deletions
diff --git a/sw/inc/SwUndoField.hxx b/sw/inc/SwUndoField.hxx
index e9ef5d8dcb38..f27aed1a830c 100644
--- a/sw/inc/SwUndoField.hxx
+++ b/sw/inc/SwUndoField.hxx
@@ -43,7 +43,7 @@ public:
class SwUndoFieldFromDoc : public SwUndoField
{
- SwField * pOldField, * pNewField;
+ std::unique_ptr<SwField> pOldField, pNewField;
SwMsgPoolItem * pHint;
bool bUpdate;
diff --git a/sw/inc/authfld.hxx b/sw/inc/authfld.hxx
index ad50de2487fc..60e7f1533100 100644
--- a/sw/inc/authfld.hxx
+++ b/sw/inc/authfld.hxx
@@ -148,7 +148,7 @@ class SwAuthorityField : public SwField
mutable sal_IntPtr m_nTempSequencePos;
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
public:
/// For internal use only, in general continue using ExpandField() instead.
diff --git a/sw/inc/chpfld.hxx b/sw/inc/chpfld.hxx
index 561836850c5d..695a21c395c4 100644
--- a/sw/inc/chpfld.hxx
+++ b/sw/inc/chpfld.hxx
@@ -55,7 +55,7 @@ class SW_DLLPUBLIC SwChapterField : public SwField
OUString sPost;
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
public:
SwChapterField(SwChapterFieldType*, sal_uInt32 nFormat = 0);
diff --git a/sw/inc/dbfld.hxx b/sw/inc/dbfld.hxx
index 214d3d9acec3..5d2c51af7880 100644
--- a/sw/inc/dbfld.hxx
+++ b/sw/inc/dbfld.hxx
@@ -63,7 +63,7 @@ class SW_DLLPUBLIC SwDBField : public SwValueField
bool bInitialized : 1;
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
public:
SwDBField(SwDBFieldType*, sal_uInt32 nFormat = 0);
@@ -165,7 +165,7 @@ public:
const OUString& rCond, const SwDBData& rDBData);
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
void Evaluate(SwDoc const *);
inline void SetCondValid(bool bCond);
@@ -205,7 +205,7 @@ public:
SwDBNumSetField(SwDBNumSetFieldType*, const OUString& rCond, const OUString& rDBNum, const SwDBData& rDBData);
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
inline bool IsCondValid() const;
inline void SetCondValid(bool bCond);
@@ -248,7 +248,7 @@ public:
SwDBNameField(SwDBNameFieldType*, const SwDBData& rDBData);
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
virtual bool QueryValue( css::uno::Any& rVal, sal_uInt16 nWhich ) const override;
virtual bool PutValue( const css::uno::Any& rVal, sal_uInt16 nWhich ) override;
};
@@ -270,7 +270,7 @@ public:
SwDBSetNumberField(SwDBSetNumberFieldType*, const SwDBData& rDBData, sal_uInt32 nFormat = 0);
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
void Evaluate(SwDoc const *);
inline long GetSetNumber() const;
diff --git a/sw/inc/ddefld.hxx b/sw/inc/ddefld.hxx
index 0bd96a8cbccb..510f6223874e 100644
--- a/sw/inc/ddefld.hxx
+++ b/sw/inc/ddefld.hxx
@@ -106,7 +106,7 @@ class SwDDEField : public SwField
{
private:
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
public:
SwDDEField(SwDDEFieldType*);
diff --git a/sw/inc/docufld.hxx b/sw/inc/docufld.hxx
index 8afc0a1e425a..5a6545f712b6 100644
--- a/sw/inc/docufld.hxx
+++ b/sw/inc/docufld.hxx
@@ -157,7 +157,7 @@ public:
sal_uInt16 const nMaxPage);
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
virtual OUString GetPar2() const override;
virtual void SetPar2(const OUString& rStr) override;
@@ -187,7 +187,7 @@ public:
SwAuthorField(SwAuthorFieldType*, sal_uInt32 nFormat);
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
void SetExpansion(const OUString& rStr) { m_aContent = rStr; }
@@ -213,7 +213,7 @@ public:
SwFileNameField(SwFileNameFieldType*, sal_uInt32 nFormat);
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
void SetExpansion(const OUString& rStr) { m_aContent = rStr; }
@@ -237,7 +237,7 @@ public:
SwTemplNameField(SwTemplNameFieldType*, sal_uInt32 nFormat);
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
virtual bool QueryValue( css::uno::Any& rVal, sal_uInt16 nWhich ) const override;
virtual bool PutValue( const css::uno::Any& rVal, sal_uInt16 nWhich ) override;
};
@@ -267,7 +267,7 @@ public:
void ChangeExpansion( const SwFrame* pFrame );
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
virtual sal_uInt16 GetSubType() const override;
virtual void SetSubType(sal_uInt16 nSub) override;
@@ -301,7 +301,7 @@ class SW_DLLPUBLIC SwHiddenTextField : public SwField
bool m_bValid : 1; ///< Is DB-field evaluated?
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
public:
SwHiddenTextField( SwHiddenTextFieldType*,
@@ -362,7 +362,7 @@ public:
SwHiddenParaField(SwHiddenParaFieldType*, const OUString& rCond);
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
void SetHidden(bool bHidden) { m_bIsHidden = bHidden; }
bool IsHidden() const { return m_bIsHidden; }
@@ -391,7 +391,7 @@ class SW_DLLPUBLIC SwMacroField : public SwField
bool m_bIsScriptURL;
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
public:
/// Direct input, delete old value.
@@ -465,7 +465,7 @@ public:
virtual ~SwPostItField() override;
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
const DateTime& GetDateTime() const { return m_aDateTime; }
const Date GetDate() const { return Date(m_aDateTime.GetDate()); }
@@ -511,7 +511,7 @@ class SW_DLLPUBLIC SwDocInfoField : public SwValueField
OUString m_aName;
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
public:
SwDocInfoField(SwDocInfoFieldType*, sal_uInt16 nSub, const OUString& rName, sal_uInt32 nFormat=0);
@@ -547,7 +547,7 @@ public:
SwExtUserField(SwExtUserFieldType*, sal_uInt16 nSub, sal_uInt32 nFormat);
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
virtual sal_uInt16 GetSubType() const override;
virtual void SetSubType(sal_uInt16 nSub) override;
@@ -581,7 +581,7 @@ public:
SwRefPageSetField( SwRefPageSetFieldType*, short nOff, bool bOn );
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
virtual OUString GetPar2() const override;
virtual void SetPar2(const OUString& rStr) override;
@@ -619,7 +619,7 @@ public:
SwRefPageGetField( SwRefPageGetFieldType*, sal_uInt32 nFormat );
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
void SetText( const OUString& rText ) { m_sText = rText; }
@@ -650,7 +650,7 @@ public:
const OUString& sText, const OUString& sHelp );
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
/// Placeholder-Text
virtual OUString GetPar1() const override;
@@ -690,7 +690,7 @@ public:
virtual OUString GetDescription() const override;
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
/// Type
virtual OUString GetPar1() const override;
@@ -725,7 +725,7 @@ public:
SwCombinedCharField( SwCombinedCharFieldType*, const OUString& rChars );
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
/// Characters
virtual OUString GetPar1() const override;
diff --git a/sw/inc/expfld.hxx b/sw/inc/expfld.hxx
index aefbbdbcbe0e..952e7fcc5402 100644
--- a/sw/inc/expfld.hxx
+++ b/sw/inc/expfld.hxx
@@ -92,7 +92,7 @@ class SW_DLLPUBLIC SwGetExpField : public SwFormulaField
bool bLateInitialization; // #i82544#
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
public:
SwGetExpField( SwGetExpFieldType*, const OUString& rFormel,
@@ -214,7 +214,7 @@ class SW_DLLPUBLIC SwSetExpField : public SwFormulaField
SwFormatField * mpFormatField; /// pool item to which the SwSetExpField belongs
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
public:
SwSetExpField(SwSetExpFieldType*, const OUString& rFormel, sal_uLong nFormat = 0);
@@ -299,7 +299,7 @@ class SW_DLLPUBLIC SwInputField : public SwField
SwFormatField* mpFormatField; // attribute to which the <SwInputField> belongs to
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
// Accessing Input Field's content
const OUString& getContent() const { return aContent;}
@@ -385,7 +385,7 @@ class SwTableField : public SwValueField, public SwTableFormula
sal_uInt16 nSubType;
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
/// Search TextNode containing the field.
virtual const SwNode* GetNodeOfFormula() const override;
diff --git a/sw/inc/fldbas.hxx b/sw/inc/fldbas.hxx
index fcb55df88b4c..0093ce66b337 100644
--- a/sw/inc/fldbas.hxx
+++ b/sw/inc/fldbas.hxx
@@ -283,7 +283,7 @@ private:
SwFieldType* m_pType;
virtual OUString Expand() const = 0;
- virtual SwField* Copy() const = 0;
+ virtual std::unique_ptr<SwField> Copy() const = 0;
protected:
void SetFormat(sal_uInt32 const nSet) {
@@ -316,7 +316,7 @@ public:
/// @return name or content.
virtual OUString GetFieldName() const;
- SwField * CopyField() const;
+ std::unique_ptr<SwField> CopyField() const;
/// ResId
SwFieldIds Which() const
diff --git a/sw/inc/flddat.hxx b/sw/inc/flddat.hxx
index dc5d2d6ee0db..9ffdc71c63ed 100644
--- a/sw/inc/flddat.hxx
+++ b/sw/inc/flddat.hxx
@@ -46,7 +46,7 @@ class SW_DLLPUBLIC SwDateTimeField : public SwValueField
long nOffset; // Offset in minutes.
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
public:
SwDateTimeField(SwDateTimeFieldType* pType, sal_uInt16 nSubType = DATEFLD,
diff --git a/sw/inc/flddropdown.hxx b/sw/inc/flddropdown.hxx
index 36aa09fe0b3d..f53e727cfe24 100644
--- a/sw/inc/flddropdown.hxx
+++ b/sw/inc/flddropdown.hxx
@@ -97,7 +97,7 @@ class SW_DLLPUBLIC SwDropDownField : public SwField
@return the copy of this field
*/
- virtual SwField * Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
public:
/**
diff --git a/sw/inc/fmtfld.hxx b/sw/inc/fmtfld.hxx
index cc4c365b1238..1b72d3e6b83c 100644
--- a/sw/inc/fmtfld.hxx
+++ b/sw/inc/fmtfld.hxx
@@ -44,7 +44,7 @@ class SW_DLLPUBLIC SwFormatField
css::uno::WeakReference<css::text::XTextField> m_wXTextField;
- SwField* mpField;
+ std::unique_ptr<SwField> mpField;
SwTextField* mpTextField; // the TextAttribute
protected:
@@ -70,11 +70,11 @@ public:
const SwField* GetField() const
{
- return mpField;
+ return mpField.get();
}
SwField* GetField()
{
- return mpField;
+ return mpField.get();
}
/**
@@ -84,7 +84,7 @@ public:
@attention The current field will be destroyed before setting the new field.
*/
- void SetField( SwField * pField );
+ void SetField( std::unique_ptr<SwField> pField );
const SwTextField* GetTextField() const
{
diff --git a/sw/inc/reffld.hxx b/sw/inc/reffld.hxx
index 8a9987b9ab87..45ce7ddbc11c 100644
--- a/sw/inc/reffld.hxx
+++ b/sw/inc/reffld.hxx
@@ -88,7 +88,7 @@ private:
sal_uInt16 nSeqNo;
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
// #i81002#
static OUString MakeRefNumStr( const SwTextNode& rTextNodeOfField,
diff --git a/sw/inc/usrfld.hxx b/sw/inc/usrfld.hxx
index d523964b97c3..c776f5b200c4 100644
--- a/sw/inc/usrfld.hxx
+++ b/sw/inc/usrfld.hxx
@@ -88,7 +88,7 @@ class SW_DLLPUBLIC SwUserField : public SwValueField
sal_uInt16 nSubType;
virtual OUString Expand() const override;
- virtual SwField* Copy() const override;
+ virtual std::unique_ptr<SwField> Copy() const override;
public:
SwUserField(SwUserFieldType*, sal_uInt16 nSub, sal_uInt32 nFormat);