Module: wine Branch: master Commit: c73e2d5e02f4239e206c42d96ff9e68d9476713f URL: http://source.winehq.org/git/wine.git/?a=commit;h=c73e2d5e02f4239e206c42d96f...
Author: Alexandre Julliard julliard@winehq.org Date: Tue Nov 17 15:14:11 2009 +0100
gdi32: Reset the visible region in ResetDC.
---
dlls/gdi32/dc.c | 12 +++++++++++- dlls/wineps.drv/init.c | 4 ---- 2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/dlls/gdi32/dc.c b/dlls/gdi32/dc.c index fdfc100..c4c5a13 100644 --- a/dlls/gdi32/dc.c +++ b/dlls/gdi32/dc.c @@ -859,7 +859,17 @@ HDC WINAPI ResetDCW( HDC hdc, const DEVMODEW *devmode )
if ((dc = get_dc_ptr( hdc ))) { - if (dc->funcs->pResetDC) ret = dc->funcs->pResetDC( dc->physDev, devmode ); + if (dc->funcs->pResetDC) + { + ret = dc->funcs->pResetDC( dc->physDev, devmode ); + if (ret) /* reset the visible region */ + { + dc->dirty = 0; + SetRectRgn( dc->hVisRgn, 0, 0, GetDeviceCaps( hdc, DESKTOPHORZRES ), + GetDeviceCaps( hdc, DESKTOPVERTRES ) ); + CLIPPING_UpdateGCRegion( dc ); + } + } release_dc_ptr( dc ); } return ret; diff --git a/dlls/wineps.drv/init.c b/dlls/wineps.drv/init.c index b923529..152ee03 100644 --- a/dlls/wineps.drv/init.c +++ b/dlls/wineps.drv/init.c @@ -401,14 +401,10 @@ BOOL CDECL PSDRV_DeleteDC( PSDRV_PDEVICE *physDev ) HDC CDECL PSDRV_ResetDC( PSDRV_PDEVICE *physDev, const DEVMODEW *lpInitData ) { if(lpInitData) { - HRGN hrgn; DEVMODEA *devmodeA = DEVMODEdupWtoA(PSDRV_Heap, lpInitData); PSDRV_MergeDevmodes(physDev->Devmode, (PSDRV_DEVMODEA *)devmodeA, physDev->pi); HeapFree(PSDRV_Heap, 0, devmodeA); PSDRV_UpdateDevCaps(physDev); - hrgn = CreateRectRgn(0, 0, physDev->horzRes, physDev->vertRes); - SelectVisRgn( physDev->hdc, hrgn ); - DeleteObject(hrgn); } return physDev->hdc; }