Code added to re-evaluate stale DC information in DCE cache.
This commit is contained in:
parent
af5745f504
commit
0e8d8cc92b
@ -961,6 +961,8 @@ BOOL16 WINAPI DCHook16( HDC16 hDC, WORD code, DWORD data, LPARAM lParam )
|
|||||||
{
|
{
|
||||||
HRGN hVisRgn;
|
HRGN hVisRgn;
|
||||||
DCE *dce;
|
DCE *dce;
|
||||||
|
DC *dc;
|
||||||
|
WND *wndPtr;
|
||||||
|
|
||||||
/* Grab the windows lock before doing anything else */
|
/* Grab the windows lock before doing anything else */
|
||||||
WIN_LockWnds();
|
WIN_LockWnds();
|
||||||
@ -984,6 +986,13 @@ BOOL16 WINAPI DCHook16( HDC16 hDC, WORD code, DWORD data, LPARAM lParam )
|
|||||||
|
|
||||||
if( dce->DCXflags & DCX_DCEBUSY )
|
if( dce->DCXflags & DCX_DCEBUSY )
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/* Update stale DC in DCX */
|
||||||
|
wndPtr = WIN_FindWndPtr( dce->hwndCurrent);
|
||||||
|
dc = (DC *) GDI_GetObjPtr( dce->hDC, DC_MAGIC);
|
||||||
|
if( dc && wndPtr)
|
||||||
|
wndPtr->pDriver->pSetDrawable( wndPtr, dc,dce->DCXflags,TRUE);
|
||||||
|
|
||||||
SetHookFlags16(hDC, DCHF_VALIDATEVISRGN);
|
SetHookFlags16(hDC, DCHF_VALIDATEVISRGN);
|
||||||
hVisRgn = DCE_GetVisRgn(dce->hwndCurrent, dce->DCXflags, 0, 0);
|
hVisRgn = DCE_GetVisRgn(dce->hwndCurrent, dce->DCXflags, 0, 0);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user