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/inc... ============================================================================== --- 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; }