Alexandre Julliard : gdi32: Don' t require a valid point as input to OffsetViewport/WindowOrgEx.
Alexandre Julliard
julliard at winehq.org
Mon Mar 28 14:21:56 CDT 2011
Module: wine
Branch: master
Commit: 5e2549d687a6b24bf4b987dfd1f222decaddf063
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5e2549d687a6b24bf4b987dfd1f222decaddf063
Author: Alexandre Julliard <julliard at 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 );
More information about the wine-cvs
mailing list