Windows build fix

fixes #11096
This commit is contained in:
Michael Friedrich 2016-02-04 23:15:48 +01:00 committed by Gunnar Beutner
parent 3b4099a536
commit e3373ebfc5
1 changed files with 7 additions and 4 deletions

View File

@ -117,8 +117,12 @@ private:
Object(const Object& other);
Object& operator=(const Object& rhs);
# ifndef _WIN32
intptr_t m_References;
# else /* _WIN32 */
uintptr_t m_References;
mutable boost::recursive_mutex m_Mutex;
# endif /* _WIN32 */
mutable uintptr_t m_Mutex;
#ifdef I2_DEBUG
# ifndef _WIN32
@ -145,11 +149,10 @@ inline void intrusive_ptr_add_ref(Object *object)
inline void intrusive_ptr_release(Object *object)
{
uintptr_t refs;
#ifdef _WIN32
refs = InterlockedDecrement(&object->m_References);
uintptr_t refs = InterlockedDecrement(&object->m_References);
#else /* _WIN32 */
refs = __sync_sub_and_fetch(&object->m_References, 1);
intptr_t refs = __sync_sub_and_fetch(&object->m_References, 1);
#endif /* _WIN32 */
if (refs == 0)