- Add asserts to ReferenceObject and DereferenceObject to catch reference misuse

svn path=/trunk/; revision=59412
This commit is contained in:
Cameron Gutman 2013-07-03 08:52:17 +00:00
parent 1965b2bf85
commit 2ef5916526

View file

@ -13,6 +13,7 @@
*/ */
#define ReferenceObject(Object) \ #define ReferenceObject(Object) \
{ \ { \
ASSERT((Object)->RefCount); \
InterlockedIncrement(&((Object)->RefCount)); \ InterlockedIncrement(&((Object)->RefCount)); \
} }
@ -22,6 +23,7 @@
*/ */
#define DereferenceObject(Object) \ #define DereferenceObject(Object) \
{ \ { \
ASSERT((Object)->RefCount); \
if (InterlockedDecrement(&((Object)->RefCount)) == 0) \ if (InterlockedDecrement(&((Object)->RefCount)) == 0) \
(((Object)->Free)(Object)); \ (((Object)->Free)(Object)); \
} }