diff options
author | Noel Grandin <noel@peralex.com> | 2016-08-25 14:44:08 +0200 |
---|---|---|
committer | Noel Grandin <noel@peralex.com> | 2016-08-29 09:23:46 +0200 |
commit | 2b8c88b475455d2f4e66f8a632d96f42d1e223ca (patch) | |
tree | 212ec80acd2dbda7338ee2cf55ea3208eceb36ea /svl | |
parent | 6380dde50f2f7c2e93c3ef3a1c88254cd3760d7f (diff) |
cid#1371226 Missing move assignment operator
Change-Id: I915b24d8f546f156b85ad18ad0418903fa3ce1ba
Diffstat (limited to 'svl')
-rw-r--r-- | svl/source/misc/sharedstring.cxx | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/svl/source/misc/sharedstring.cxx b/svl/source/misc/sharedstring.cxx index b81f8fcf8072..9235783ce774 100644 --- a/svl/source/misc/sharedstring.cxx +++ b/svl/source/misc/sharedstring.cxx @@ -44,6 +44,12 @@ SharedString::SharedString( const SharedString& r ) : mpData(r.mpData), mpDataIg rtl_uString_acquire(mpDataIgnoreCase); } +SharedString::SharedString( SharedString&& r ) : mpData(r.mpData), mpDataIgnoreCase(r.mpDataIgnoreCase) +{ + r.mpData = nullptr; + r.mpDataIgnoreCase = nullptr; +} + SharedString::~SharedString() { if (mpData) @@ -70,6 +76,22 @@ SharedString& SharedString::operator= ( const SharedString& r ) return *this; } +SharedString& SharedString::operator= ( SharedString&& r ) +{ + if (mpData) + rtl_uString_release(mpData); + if (mpDataIgnoreCase) + rtl_uString_release(mpDataIgnoreCase); + + mpData = r.mpData; + mpDataIgnoreCase = r.mpDataIgnoreCase; + + r.mpData = nullptr; + r.mpDataIgnoreCase = nullptr; + + return *this; +} + bool SharedString::operator== ( const SharedString& r ) const { // Only compare case sensitive strings. |