mirror of
https://github.com/reactos/reactos.git
synced 2025-07-04 02:31:22 +00:00
[WIN32K]
- Fix user-mode region attribute handling in IntGdiSetRegionOwner. svn path=/trunk/; revision=64178
This commit is contained in:
parent
215e0d90a1
commit
00b90311f3
1 changed files with 4 additions and 5 deletions
|
@ -2323,23 +2323,22 @@ IntGdiSetRegionOwner(HRGN hRgn, DWORD OwnerMask)
|
||||||
PRGN_ATTR prgnattr;
|
PRGN_ATTR prgnattr;
|
||||||
PPROCESSINFO ppi;
|
PPROCESSINFO ppi;
|
||||||
|
|
||||||
prgn = REGION_LockRgn(hRgn);
|
prgn = RGNOBJAPI_Lock(hRgn, &prgnattr);
|
||||||
if (!prgn)
|
if (!prgn)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
prgnattr = GDIOBJ_pvGetObjectAttr(&prgn->BaseObject);
|
if (prgnattr != &prgn->rgnattr)
|
||||||
if (prgnattr)
|
|
||||||
{
|
{
|
||||||
GDIOBJ_vSetObjectAttr(&prgn->BaseObject, NULL);
|
GDIOBJ_vSetObjectAttr(&prgn->BaseObject, NULL);
|
||||||
prgn->prgnattr = NULL;
|
prgn->prgnattr = &prgn->rgnattr;
|
||||||
ppi = PsGetCurrentProcessWin32Process();
|
ppi = PsGetCurrentProcessWin32Process();
|
||||||
GdiPoolFree(ppi->pPoolRgnAttr, prgnattr);
|
GdiPoolFree(ppi->pPoolRgnAttr, prgnattr);
|
||||||
}
|
}
|
||||||
RGNOBJAPI_Unlock(prgn);
|
RGNOBJAPI_Unlock(prgn);
|
||||||
|
|
||||||
return GreSetObjectOwner(hRgn, OwnerMask);
|
return GreSetObjectOwner(hRgn, OwnerMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
INT
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue