소스 검색

libobs: Fix move assignment operator for ComPtr

We can't compare addresses of ComPtr for self-reference directly because
the address-of operator is overloaded, causing a compiler error. This
fix more or less matches the WRL implementation.
James Park 6 년 전
부모
커밋
a3e5344cce
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      libobs/util/windows/ComPtr.hpp

+ 1 - 1
libobs/util/windows/ComPtr.hpp

@@ -68,7 +68,7 @@ public:
 
 	inline ComPtr<T> &operator=(ComPtr<T> &&c)
 	{
-		if (this != &c) {
+		if (&ptr != &c.ptr) {
 			Kill();
 			ptr = c.ptr;
 			c.ptr = nullptr;