[ros-diffs] [tkreuzer] 40189: GDIOBJ_ShareUnlockObjByPtr: Temporarily don't ASSERT, but print a backtrace when trying to unlock an object that wasn't locked.
tkreuzer at svn.reactos.org
tkreuzer at svn.reactos.org
Mon Mar 23 20:11:38 CET 2009
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/include/gdiobj.h?rev=40189&r1=40188&r2=40189&view=diff
==============================================================================
--- 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;
}
More information about the Ros-diffs
mailing list