Author: jgardou
Date: Mon Sep 22 14:33:06 2014
New Revision: 64226
URL:
http://svn.reactos.org/svn/reactos?rev=64226&view=rev
Log:
[WIN32K]
- Add some debug prints helping diagnosing which GDI objects are locked when they should
not be.
- Plug a region (lock) leak
- Remove some dead code.
Modified:
trunk/reactos/win32ss/gdi/ntgdi/gdidebug.h
trunk/reactos/win32ss/gdi/ntgdi/region.c
trunk/reactos/win32ss/user/ntuser/vis.c
Modified: trunk/reactos/win32ss/gdi/ntgdi/gdidebug.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/gdidebug…
==============================================================================
--- trunk/reactos/win32ss/gdi/ntgdi/gdidebug.h [iso-8859-1] (original)
+++ trunk/reactos/win32ss/gdi/ntgdi/gdidebug.h [iso-8859-1] Mon Sep 22 14:33:06 2014
@@ -80,8 +80,11 @@
PTHREADINFO pti = (PTHREADINFO)PsGetCurrentThreadWin32Thread();
if (pti && pti->cExclusiveLocks != 0)
{
+ ULONG i;
DbgPrint("(%s:%lu) There are %lu exclusive locks!\n",
pszFile, nLine, pti->cExclusiveLocks);
+ for (i = 0; i < (GDIObjTypeTotal + 1); i++)
+ DbgPrint(" Type %u: %u.\n", i,
pti->acExclusiveLockCount[i]);
ASSERT(FALSE);
}
}
Modified: trunk/reactos/win32ss/gdi/ntgdi/region.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/region.c…
==============================================================================
--- trunk/reactos/win32ss/gdi/ntgdi/region.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/gdi/ntgdi/region.c [iso-8859-1] Mon Sep 22 14:33:06 2014
@@ -3847,10 +3847,6 @@
RGNOBJAPI_Unlock(prgn);
return ret;
-
-
- RGNOBJAPI_Unlock(prgn);
- return FALSE;
}
BOOL
Modified: trunk/reactos/win32ss/user/ntuser/vis.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/vis.c?…
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/vis.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/vis.c [iso-8859-1] Mon Sep 22 14:33:06 2014
@@ -116,6 +116,7 @@
IntGdiOffsetRgn(ClipRgn, -CurrentWindow->rcWindow.left,
-CurrentWindow->rcWindow.top);
IntGdiCombineRgn(ClipRgn, ClipRgn, CurrentRgnClip, RGN_AND);
IntGdiOffsetRgn(ClipRgn, CurrentWindow->rcWindow.left,
CurrentWindow->rcWindow.top);
+ RGNOBJAPI_Unlock(CurrentRgnClip);
}
}
IntGdiCombineRgn(VisRgn, VisRgn, ClipRgn, RGN_DIFF);