summaryrefslogtreecommitdiff
path: root/zen/com_ptr.h
diff options
context:
space:
mode:
Diffstat (limited to 'zen/com_ptr.h')
-rw-r--r--zen/com_ptr.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/zen/com_ptr.h b/zen/com_ptr.h
index 030a0801..9944ea56 100644
--- a/zen/com_ptr.h
+++ b/zen/com_ptr.h
@@ -36,7 +36,7 @@ class ComPtr
public:
ComPtr() : ptr(nullptr) {} //
ComPtr(const ComPtr& other) : ptr(other.ptr) { if (ptr) ptr->AddRef(); } //noexcept in C++11
- ComPtr( ComPtr&& other) : ptr(other.ptr) { other.ptr = nullptr; } //
+ ComPtr( ComPtr&& other) : ptr(other.release()) {} //
~ComPtr() { if (ptr) ptr->Release(); } //has exception spec of compiler-generated destructor by default
ComPtr& operator=(const ComPtr& other) { ComPtr(other).swap(*this); return *this; } //noexcept in C++11
bgstack15