- Add corrected behavior for SetWindowRgn, delete region object after setting windows region. See bug 4980.
- After a successful call to SetWindowRgn, the system owns the region specified by the region handle hRgn. The system does not make a copy of the region. Thus, you should not make any further function calls with this region handle. In particular, do not delete this region handle. The system deletes the region handle when it no longer needed.
- References : http://msdn.microsoft.com/en-us/library/dd145102(VS.85).aspx

svn path=/trunk/; revision=45013
This commit is contained in:
James Tabor 2010-01-09 06:16:51 +00:00
parent 34689ba8c7
commit 1b346fdad3

View file

@ -149,7 +149,13 @@ SetWindowRgn(
Hook = BeginIfHookedUserApiHook();
/* Bypass SEH and go direct. */
if (!Hook) return (int)NtUserSetWindowRgn(hWnd, hRgn, bRedraw);
if (!Hook)
{
Ret = NtUserSetWindowRgn(hWnd, hRgn, bRedraw);
if (hRgn && Ret)
DeleteObject(hRgn);
return Ret;
}
_SEH2_TRY
{