diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-01-02 15:17:33 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-01-02 18:23:50 +0000 |
commit | f97cd16ea48315d09a420d2e2c7e5a229d3d18e6 (patch) | |
tree | 3363bc89c9e9c1021802030eb2d28cd2b174fa9d | |
parent | 9d6a749bc664f1876c938afb9eba4adc9f6ee09a (diff) |
coverity#1371220 Missing move assignment operator
Change-Id: Ie2947ea621da7ffc6c9530f007e1acdd4efb50cb
Reviewed-on: https://gerrit.libreoffice.org/32650
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | include/svl/svdde.hxx | 10 | ||||
-rw-r--r-- | svl/source/svdde/ddedata.cxx | 15 | ||||
-rw-r--r-- | svl/unx/source/svdde/ddedummy.cxx | 13 |
3 files changed, 30 insertions, 8 deletions
diff --git a/include/svl/svdde.hxx b/include/svl/svdde.hxx index e59aea050ce2..5a2696cac197 100644 --- a/include/svl/svdde.hxx +++ b/include/svl/svdde.hxx @@ -65,9 +65,10 @@ class SVL_DLLPUBLIC DdeData public: DdeData(); - DdeData( SAL_UNUSED_PARAMETER const void*, SAL_UNUSED_PARAMETER long, SAL_UNUSED_PARAMETER SotClipboardFormatId = SotClipboardFormatId::STRING ); - DdeData( SAL_UNUSED_PARAMETER const OUString& ); - DdeData( const DdeData& ); + DdeData(SAL_UNUSED_PARAMETER const void*, SAL_UNUSED_PARAMETER long, SAL_UNUSED_PARAMETER SotClipboardFormatId = SotClipboardFormatId::STRING); + DdeData(SAL_UNUSED_PARAMETER const OUString&); + DdeData(const DdeData&); + DdeData(DdeData&&); ~DdeData(); void const * getData() const; @@ -75,7 +76,8 @@ public: SotClipboardFormatId GetFormat() const; - DdeData& operator = ( const DdeData& ); + DdeData& operator=(const DdeData&); + DdeData& operator=(DdeData&&); static sal_uLong GetExternalFormat(SotClipboardFormatId nFmt); static SotClipboardFormatId GetInternalFormat(sal_uLong nFmt); diff --git a/svl/source/svdde/ddedata.cxx b/svl/source/svdde/ddedata.cxx index d6cd5341e64d..44817c3d03d8 100644 --- a/svl/source/svdde/ddedata.cxx +++ b/svl/source/svdde/ddedata.cxx @@ -57,7 +57,7 @@ DdeData::DdeData( const OUString& s ) xImp->nFmt = SotClipboardFormatId::STRING; } -DdeData::DdeData( const DdeData& rData ) +DdeData::DdeData(const DdeData& rData) { xImp.reset(new DdeDataImp); xImp->hData = rData.xImp->hData; @@ -67,6 +67,11 @@ DdeData::DdeData( const DdeData& rData ) Lock(); } +DdeData::DdeData(DdeData&& rData) + : xImp(std::move(rData.xImp)) +{ +} + DdeData::~DdeData() { if (xImp && xImp->hData) @@ -99,7 +104,7 @@ long DdeData::getSize() const return xImp->nData; } -DdeData& DdeData::operator = ( const DdeData& rData ) +DdeData& DdeData::operator=(const DdeData& rData) { if ( &rData != this ) { @@ -110,6 +115,12 @@ DdeData& DdeData::operator = ( const DdeData& rData ) return *this; } +DdeData& DdeData::operator=(DdeData&& rData) +{ + xImp = std::move(rData.xImp); + return *this; +} + sal_uLong DdeData::GetExternalFormat(SotClipboardFormatId nFmt) { switch( nFmt ) diff --git a/svl/unx/source/svdde/ddedummy.cxx b/svl/unx/source/svdde/ddedummy.cxx index 393759545a19..c8f95d7c15ce 100644 --- a/svl/unx/source/svdde/ddedummy.cxx +++ b/svl/unx/source/svdde/ddedummy.cxx @@ -32,7 +32,11 @@ DdeData::DdeData( const OUString& ) { } -DdeData::DdeData( const DdeData& ) +DdeData::DdeData(const DdeData&) +{ +} + +DdeData::DdeData(DdeData&&) { } @@ -53,7 +57,12 @@ SotClipboardFormatId DdeData::GetFormat() const return SotClipboardFormatId::NONE; } -DdeData& DdeData::operator = ( const DdeData& ) +DdeData& DdeData::operator=(const DdeData&) +{ + return *this; +} + +DdeData& DdeData::operator=(DdeData&&) { return *this; } |