summaryrefslogtreecommitdiff
path: root/sw/inc/dbfld.hxx
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/dbfld.hxx
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/dbfld.hxx')
-rw-r--r--sw/inc/dbfld.hxx10
1 files changed, 5 insertions, 5 deletions
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;