Code added to re-evaluate stale DC information in DCE cache.

This commit is contained in:
Paul Millar 1999-04-19 16:37:11 +00:00 committed by Alexandre Julliard
parent af5745f504
commit 0e8d8cc92b
1 changed files with 9 additions and 0 deletions

View File

@ -961,6 +961,8 @@ BOOL16 WINAPI DCHook16( HDC16 hDC, WORD code, DWORD data, LPARAM lParam )
{
HRGN hVisRgn;
DCE *dce;
DC *dc;
WND *wndPtr;
/* Grab the windows lock before doing anything else */
WIN_LockWnds();
@ -984,6 +986,13 @@ BOOL16 WINAPI DCHook16( HDC16 hDC, WORD code, DWORD data, LPARAM lParam )
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);
hVisRgn = DCE_GetVisRgn(dce->hwndCurrent, dce->DCXflags, 0, 0);