Dmitry Timoshkov : gdi32: If there is no clipping rect, EMREXTTEXTOUT shouldn't have a bounding rect.

Alexandre Julliard julliard at winehq.org
Tue May 27 06:03:40 CDT 2008


Module: wine
Branch: master
Commit: 7aff723ccccd11f416b04501b47289bcc355001c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7aff723ccccd11f416b04501b47289bcc355001c

Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date:   Sun May 25 21:31:20 2008 +0900

gdi32: If there is no clipping rect, EMREXTTEXTOUT shouldn't have a bounding rect.

---

 dlls/gdi32/enhmfdrv/graphics.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/dlls/gdi32/enhmfdrv/graphics.c b/dlls/gdi32/enhmfdrv/graphics.c
index 4a695f2..28f34cd 100644
--- a/dlls/gdi32/enhmfdrv/graphics.c
+++ b/dlls/gdi32/enhmfdrv/graphics.c
@@ -775,6 +775,13 @@ BOOL EMFDRV_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags,
         }
     }
 
+    if (!lprect)
+    {
+        pemr->rclBounds.left = pemr->rclBounds.top = 0;
+        pemr->rclBounds.right = pemr->rclBounds.bottom = -1;
+        goto no_bounds;
+    }
+
     switch (textAlign & (TA_LEFT | TA_RIGHT | TA_CENTER)) {
     case TA_CENTER: {
         pemr->rclBounds.left  = x - (textWidth / 2) - 1;
@@ -814,6 +821,7 @@ BOOL EMFDRV_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags,
     }
     }
 
+no_bounds:
     ret = EMFDRV_WriteRecord( dev, &pemr->emr );
     if(ret)
         EMFDRV_UpdateBBox( dev, &pemr->rclBounds );




More information about the wine-cvs mailing list