From 7007ee997abc4be6ca147a2e7dfdf5a826dcff2c Mon Sep 17 00:00:00 2001 From: Amos Jeffries Date: Sun, 26 Jun 2016 03:23:43 +1200 Subject: [PATCH] Restore old move-assignment definition We cannot use the compilers default move assignment operator since we have custom deletePointer() happening in the reset() call. --- src/security/LockingPointer.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/security/LockingPointer.h b/src/security/LockingPointer.h index a5b2a43147..baaa32d345 100644 --- a/src/security/LockingPointer.h +++ b/src/security/LockingPointer.h @@ -69,7 +69,11 @@ public: // move semantics are definitely okay, when possible explicit LockingPointer(SelfType &&) = default; - SelfType &operator =(SelfType &&) = default; + SelfType &operator =(SelfType &&o) { + if (o.get() != raw) + reset(o.release()); + return *this; + } bool operator !() const { return !raw; } explicit operator bool() const { return raw; } -- 2.47.2