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