From 7aff723ccccd11f416b04501b47289bcc355001c Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Sun, 25 May 2008 21:31:20 +0900 Subject: [PATCH] gdi32: If there is no clipping rect, EMREXTTEXTOUT shouldn't have a bounding rect. --- dlls/gdi32/enhmfdrv/graphics.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dlls/gdi32/enhmfdrv/graphics.c b/dlls/gdi32/enhmfdrv/graphics.c index 4a695f240a..28f34cd7af 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 ); -- 2.32.0.93.g670b81a890