- 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.

svn path=/trunk/; revision=64226
This commit is contained in:
Jérôme Gardou 2014-09-22 14:33:06 +00:00
parent a9b289888e
commit 031ed04e0c
3 changed files with 4 additions and 4 deletions

View file

@ -80,8 +80,11 @@ GdiDbgAssertNoLocks(char * pszFile, ULONG nLine)
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);
}
}

View file

@ -3847,10 +3847,6 @@ NtGdiPtInRegion(
RGNOBJAPI_Unlock(prgn);
return ret;
RGNOBJAPI_Unlock(prgn);
return FALSE;
}
BOOL

View file

@ -116,6 +116,7 @@ VIS_ComputeVisibleRegion(
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);