diff options
author | Noel Grandin <noel@peralex.com> | 2016-08-25 10:42:11 +0200 |
---|---|---|
committer | Noel Grandin <noelgrandin@gmail.com> | 2016-08-25 09:37:00 +0000 |
commit | 0e74870782bd46a9654e63e19d081528fcccb6fa (patch) | |
tree | e0267c76eec67ef20c4bbdfe1e4a82967fde7b6e | |
parent | 17e137d899de51f2cab485d4e339009954e558b5 (diff) |
cid#1371320 Missing move assignment operator
Change-Id: I34da999f516abedd65135f67e7479706e64e7b20
Reviewed-on: https://gerrit.libreoffice.org/28376
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
-rw-r--r-- | connectivity/source/commontools/FValue.cxx | 17 | ||||
-rw-r--r-- | include/connectivity/FValue.hxx | 1 |
2 files changed, 18 insertions, 0 deletions
diff --git a/connectivity/source/commontools/FValue.cxx b/connectivity/source/commontools/FValue.cxx index 62861bf945c9..974363f8b916 100644 --- a/connectivity/source/commontools/FValue.cxx +++ b/connectivity/source/commontools/FValue.cxx @@ -464,6 +464,23 @@ ORowSetValue& ORowSetValue::operator=(const ORowSetValue& _rRH) return *this; } +ORowSetValue& ORowSetValue::operator=(ORowSetValue&& _rRH) +{ + if ( m_eTypeKind != _rRH.m_eTypeKind || !m_bNull) + free(); + if(!_rRH.m_bNull) + { + m_aValue = _rRH.m_aValue; + memset(&_rRH.m_aValue, 0, sizeof(_rRH.m_aValue)); + } + m_bBound = _rRH.m_bBound; + m_eTypeKind = _rRH.m_eTypeKind; + m_bSigned = _rRH.m_bSigned; + m_bNull = _rRH.m_bNull; + _rRH.m_bNull = true; + return *this; +} + ORowSetValue& ORowSetValue::operator=(const Date& _rRH) { diff --git a/include/connectivity/FValue.hxx b/include/connectivity/FValue.hxx index 55341f828e92..3964f3a1be3f 100644 --- a/include/connectivity/FValue.hxx +++ b/include/connectivity/FValue.hxx @@ -286,6 +286,7 @@ namespace connectivity { } ORowSetValue& operator=(const ORowSetValue& _rRH); + ORowSetValue& operator=(ORowSetValue&& _rRH); // simple types ORowSetValue& operator=(bool _rRH); |