mirror of
https://github.com/reactos/reactos.git
synced 2025-07-25 01:33:37 +00:00
[WIN32K]
Lock PDC with pDevObj semaphore too. svn path=/branches/reactos-yarotows/; revision=46470
This commit is contained in:
parent
33f63724b1
commit
76085ba982
2 changed files with 7 additions and 4 deletions
|
@ -167,8 +167,8 @@ FORCEINLINE
|
||||||
DC_LockDc(HDC hdc)
|
DC_LockDc(HDC hdc)
|
||||||
{
|
{
|
||||||
PDC pdc;
|
PDC pdc;
|
||||||
pdc = GDIOBJ_LockObj(hdc, GDI_OBJECT_TYPE_DC);
|
pdc = GDIOBJ_LockObj(hdc, GDILoObjType_LO_DC_TYPE);
|
||||||
// EngAcquireSemaphoreShared(pdc->ppdev->hsemDevLock);
|
if(pdc) EngAcquireSemaphoreShared(pdc->ppdev->hsemDevLock);
|
||||||
return pdc;
|
return pdc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ void
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
DC_UnlockDc(PDC pdc)
|
DC_UnlockDc(PDC pdc)
|
||||||
{
|
{
|
||||||
// EngReleaseSemaphore(pdc->ppdev->hsemDevLock);
|
EngReleaseSemaphore(pdc->ppdev->hsemDevLock);
|
||||||
GDIOBJ_UnlockObjByPtr(&pdc->BaseObject);
|
GDIOBJ_UnlockObjByPtr(&pdc->BaseObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -117,6 +117,8 @@ DC_vInitDc(
|
||||||
DCTYPE dctype,
|
DCTYPE dctype,
|
||||||
PPDEVOBJ ppdev)
|
PPDEVOBJ ppdev)
|
||||||
{
|
{
|
||||||
|
/* Lock ppdev */
|
||||||
|
EngAcquireSemaphoreShared(ppdev->hsemDevLock);
|
||||||
|
|
||||||
/* Setup some basic fields */
|
/* Setup some basic fields */
|
||||||
pdc->dctype = dctype;
|
pdc->dctype = dctype;
|
||||||
|
@ -477,6 +479,7 @@ GreOpenDCW(
|
||||||
}
|
}
|
||||||
hdc = pdc->BaseObject.hHmgr;
|
hdc = pdc->BaseObject.hHmgr;
|
||||||
|
|
||||||
|
/* Lock ppdev and initialize the new DC */
|
||||||
DC_vInitDc(pdc, iType, ppdev);
|
DC_vInitDc(pdc, iType, ppdev);
|
||||||
/* FIXME: HACK! */
|
/* FIXME: HACK! */
|
||||||
DC_InitHack(pdc);
|
DC_InitHack(pdc);
|
||||||
|
@ -638,7 +641,7 @@ NtGdiCreateCompatibleDC(HDC hdc)
|
||||||
}
|
}
|
||||||
hdcNew = pdcNew->BaseObject.hHmgr;
|
hdcNew = pdcNew->BaseObject.hHmgr;
|
||||||
|
|
||||||
/* Initialize the new DC */
|
/* Lock ppdev and initialize the new DC */
|
||||||
DC_vInitDc(pdcNew, DCTYPE_MEMORY, ppdev);
|
DC_vInitDc(pdcNew, DCTYPE_MEMORY, ppdev);
|
||||||
/* FIXME: HACK! */
|
/* FIXME: HACK! */
|
||||||
DC_InitHack(pdcNew);
|
DC_InitHack(pdcNew);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue