[PATCH 1/2] gdiplus: fix logic of treating the region of a string as unclipped
Rafał Mużyło
galtgendo at gmail.com
Mon Oct 29 17:42:39 CDT 2012
Due to commit 1418cd796cf00636db3e75df25645e235a1a845d,
gdip_round(dimension) != 0 is no longer valid.
Now, 2^23 means unclipped.
-------------- next part --------------
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index 726885b..b53cadb 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -5357,7 +5357,7 @@ GpStatus WINGDIPAPI GdipDrawString(GpGraphics *graphics, GDIPCONST WCHAR *string
if (scaled_rect.Height >= INT_MAX || scaled_rect.Height < 0.5) scaled_rect.Height = (REAL)(1 << 23);
if (!(format_flags & StringFormatFlagsNoClip) &&
- gdip_round(scaled_rect.Width) != 0 && gdip_round(scaled_rect.Height) != 0)
+ scaled_rect.Width != (REAL)(1 << 23) && scaled_rect.Height != (REAL)(1 << 23))
{
/* FIXME: If only the width or only the height is 0, we should probably still clip */
rgn = CreatePolygonRgn(corners, 4, ALTERNATE);
More information about the wine-patches
mailing list