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