mirror of
https://github.com/reactos/reactos.git
synced 2024-10-02 15:34:13 +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
|
@ -2323,23 +2323,22 @@ IntGdiSetRegionOwner(HRGN hRgn, DWORD OwnerMask)
|
|||
PRGN_ATTR prgnattr;
|
||||
PPROCESSINFO ppi;
|
||||
|
||||
prgn = REGION_LockRgn(hRgn);
|
||||
prgn = RGNOBJAPI_Lock(hRgn, &prgnattr);
|
||||
if (!prgn)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
prgnattr = GDIOBJ_pvGetObjectAttr(&prgn->BaseObject);
|
||||
if (prgnattr)
|
||||
if (prgnattr != &prgn->rgnattr)
|
||||
{
|
||||
GDIOBJ_vSetObjectAttr(&prgn->BaseObject, NULL);
|
||||
prgn->prgnattr = NULL;
|
||||
prgn->prgnattr = &prgn->rgnattr;
|
||||
ppi = PsGetCurrentProcessWin32Process();
|
||||
GdiPoolFree(ppi->pPoolRgnAttr, prgnattr);
|
||||
}
|
||||
RGNOBJAPI_Unlock(prgn);
|
||||
|
||||
return GreSetObjectOwner(hRgn, OwnerMask);
|
||||
return GreSetObjectOwner(hRgn, OwnerMask);
|
||||
}
|
||||
|
||||
INT
|
||||
|
|
Loading…
Reference in a new issue