Author: jimtabor Date: Thu Sep 27 19:54:51 2007 New Revision: 29246
URL: http://svn.reactos.org/svn/reactos?rev=29246&view=rev Log: - First try bug fix for #2698.
Modified: trunk/reactos/subsystems/win32/win32k/include/dc.h trunk/reactos/subsystems/win32/win32k/ntuser/windc.c trunk/reactos/subsystems/win32/win32k/objects/dc.c
Modified: trunk/reactos/subsystems/win32/win32k/include/dc.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/inc... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/dc.h (original) +++ trunk/reactos/subsystems/win32/win32k/include/dc.h Thu Sep 27 19:54:51 2007 @@ -156,7 +156,7 @@ HDC FASTCALL DC_GetNextDC (PDC pDC); VOID FASTCALL DC_SetNextDC (PDC pDC, HDC hNextDC); VOID FASTCALL DC_SetOwnership(HDC DC, PEPROCESS Owner); -VOID FASTCALL IntGdiCopyFromSaveState(PDC, PDC); +VOID FASTCALL IntGdiCopyFromSaveState(PDC, PDC, HDC); VOID FASTCALL IntGdiCopyToSaveState(PDC, PDC);
VOID FASTCALL DC_UpdateXforms(PDC dc);
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/windc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/windc.c (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/windc.c Thu Sep 27 19:54:51 2007 @@ -252,7 +252,7 @@ IntGdiSetHookFlags(dce->hDC, DCHF_VALIDATEVISRGN);
PDC dc = DC_LockDc ( dce->hDC ); - IntGdiCopyFromSaveState(dc, defaultDCstate); // Was SetDCState. + IntGdiCopyFromSaveState(dc, defaultDCstate, dce->hDC ); // Was SetDCState.
dce->DCXFlags &= ~DCX_DCEBUSY; if (dce->DCXFlags & DCX_DCEDIRTY)
Modified: trunk/reactos/subsystems/win32/win32k/objects/dc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/dc.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/dc.c Thu Sep 27 19:54:51 2007 @@ -1365,10 +1365,8 @@
VOID FASTCALL -IntGdiCopyFromSaveState(PDC dc, PDC dcs) -{ - HDC hDC = dc->hSelf; - +IntGdiCopyFromSaveState(PDC dc, PDC dcs, HDC hDC) +{ dc->w.flags = dcs->w.flags & ~DC_SAVED;
dc->w.hFirstBitmap = dcs->w.hFirstBitmap; @@ -1512,7 +1510,7 @@ { if ( dcs->w.flags & DC_SAVED ) { - IntGdiCopyFromSaveState( dc, dcs); + IntGdiCopyFromSaveState( dc, dcs, dc->hSelf); } else {