Dmitry Timoshkov : gdi32: Don' t cache glyph metrics if they have a custom transformation.

Alexandre Julliard julliard at winehq.org
Tue Jun 24 06:46:53 CDT 2008


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

Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date:   Tue Jun 24 16:12:14 2008 +0900

gdi32: Don't cache glyph metrics if they have a custom transformation.

---

 dlls/gdi32/freetype.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index 4782d66..01c9530 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -4473,7 +4473,12 @@ DWORD WineEngGetGlyphOutline(GdiFont *incoming_font, UINT glyph, UINT format,
     lpgm->gmptGlyphOrigin.x = left >> 6;
     lpgm->gmptGlyphOrigin.y = top >> 6;
 
-    if(format == GGO_METRICS || format == GGO_BITMAP || format ==  WINE_GGO_GRAY16_BITMAP)
+    TRACE("%u,%u,%s,%d,%d\n", lpgm->gmBlackBoxX, lpgm->gmBlackBoxY,
+          wine_dbgstr_point(&lpgm->gmptGlyphOrigin),
+          lpgm->gmCellIncX, lpgm->gmCellIncY);
+
+    if ((format == GGO_METRICS || format == GGO_BITMAP || format ==  WINE_GGO_GRAY16_BITMAP) &&
+        (!lpmat || is_identity_MAT2(lpmat))) /* don't cache custom transforms */
     {
         FONT_GM(font,original_index)->gm = *lpgm;
         FONT_GM(font,original_index)->adv = adv;




More information about the wine-cvs mailing list