Module: wine Branch: master Commit: 5e2549d687a6b24bf4b987dfd1f222decaddf063 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5e2549d687a6b24bf4b987dfd1...
Author: Alexandre Julliard julliard@winehq.org Date: Mon Mar 28 17:00:47 2011 +0200
gdi32: Don't require a valid point as input to OffsetViewport/WindowOrgEx.
---
dlls/gdi32/enhmfdrv/dc.c | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/dlls/gdi32/enhmfdrv/dc.c b/dlls/gdi32/enhmfdrv/dc.c index 0e5bb63..76039f4 100644 --- a/dlls/gdi32/enhmfdrv/dc.c +++ b/dlls/gdi32/enhmfdrv/dc.c @@ -358,13 +358,14 @@ BOOL CDECL EMFDRV_OffsetViewportOrgEx( PHYSDEV dev, INT x, INT y, POINT *pt ) PHYSDEV next = GET_NEXT_PHYSDEV( dev, pOffsetViewportOrgEx ); EMRSETVIEWPORTORGEX emr; EMFDRV_PDEVICE* physDev = (EMFDRV_PDEVICE*)dev; + POINT prev;
- GetViewportOrgEx(physDev->hdc, pt); + GetViewportOrgEx(physDev->hdc, &prev);
emr.emr.iType = EMR_SETVIEWPORTORGEX; emr.emr.nSize = sizeof(emr); - emr.ptlOrigin.x = pt->x + x; - emr.ptlOrigin.y = pt->y + y; + emr.ptlOrigin.x = prev.x + x; + emr.ptlOrigin.y = prev.y + y;
if (!EMFDRV_WriteRecord( dev, &emr.emr )) return 0; return next->funcs->pOffsetViewportOrgEx( next, x, y, pt ); @@ -375,13 +376,14 @@ BOOL CDECL EMFDRV_OffsetWindowOrgEx( PHYSDEV dev, INT x, INT y, POINT *pt ) PHYSDEV next = GET_NEXT_PHYSDEV( dev, pOffsetWindowOrgEx ); EMRSETWINDOWORGEX emr; EMFDRV_PDEVICE* physDev = (EMFDRV_PDEVICE*)dev; + POINT prev;
- GetWindowOrgEx(physDev->hdc, pt); + GetWindowOrgEx(physDev->hdc, &prev);
emr.emr.iType = EMR_SETWINDOWORGEX; emr.emr.nSize = sizeof(emr); - emr.ptlOrigin.x = pt->x + x; - emr.ptlOrigin.y = pt->y + y; + emr.ptlOrigin.x = prev.x + x; + emr.ptlOrigin.y = prev.y + y;
if (!EMFDRV_WriteRecord( dev, &emr.emr )) return 0; return next->funcs->pOffsetWindowOrgEx( next, x, y, pt );