From 674badd3ce2a2e7febceb1ba3b49535022cdee68 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Tue, 9 Feb 2016 13:56:17 +0100 Subject: [PATCH] Build fix fixes #11096 --- lib/base/object.hpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/base/object.hpp b/lib/base/object.hpp index 26a4a31fa..c68f22fe5 100644 --- a/lib/base/object.hpp +++ b/lib/base/object.hpp @@ -117,7 +117,7 @@ private: Object(const Object& other); Object& operator=(const Object& rhs); - intptr_t m_References; + uintptr_t m_References; mutable uintptr_t m_Mutex; #ifdef I2_DEBUG @@ -153,15 +153,14 @@ inline void intrusive_ptr_add_ref(Object *object) inline void intrusive_ptr_release(Object *object) { - intptr_t refs; + uintptr_t refs; + #ifdef _WIN32 refs = InterlockedDecrement(&object->m_References); #else /* _WIN32 */ refs = __sync_sub_and_fetch(&object->m_References, 1); #endif /* _WIN32 */ - ASSERT(refs >= 0); - if (refs == 0) { #ifdef I2_LEAK_DEBUG TypeRemoveObject(object); -- 2.40.0