Author: tkreuzer
Date: Mon Mar 23 22:11:37 2009
New Revision: 40189
URL:
http://svn.reactos.org/svn/reactos?rev=40189&view=rev
Log:
GDIOBJ_ShareUnlockObjByPtr: Temporarily don't ASSERT, but print a backtrace when
trying to unlock an object that wasn't locked.
Modified:
trunk/reactos/subsystems/win32/win32k/include/gdiobj.h
Modified: trunk/reactos/subsystems/win32/win32k/include/gdiobj.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/gdiobj.h [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/include/gdiobj.h [iso-8859-1] Mon Mar 23
22:11:37 2009
@@ -104,7 +104,13 @@
GDIOBJ_ShareUnlockObjByPtr(POBJ Object)
{
INT cLocks = InterlockedDecrement((PLONG)&Object->ulShareCount);
- ASSERT(cLocks >= 0);
+// ASSERT(cLocks >= 0);
+ if (cLocks < 0)
+ {
+ DbgPrint("Unlocked object %p, that was not locked!\n",
Object->hHmgr);
+ KdSystemDebugControl(TAG('R', 'o', 's', 'D'),
NULL, 20, NULL, 0, NULL, KernelMode);
+ InterlockedIncrement((PLONG)&Object->ulShareCount);
+ }
return cLocks;
}