Dmitry Timoshkov : gdi32: Fix lfWidth before caching the font to avoid duplicate entries in the cache .

Alexandre Julliard julliard at winehq.org
Mon Apr 7 14:46:48 CDT 2008


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

Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date:   Mon Apr  7 21:23:55 2008 +0900

gdi32: Fix lfWidth before caching the font to avoid duplicate entries in the cache.

---

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

diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index be8688a..b00bc71 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -3120,6 +3120,8 @@ GdiFont *WineEngCreateFontInstance(DC *dc, HFONT hfont)
         LeaveCriticalSection( &freetype_cs );
         return NULL;
     }
+    lf.lfWidth = abs(lf.lfWidth);
+
     can_use_bitmap = GetDeviceCaps(dc->hSelf, TEXTCAPS) & TC_RA_ABLE;
 
     TRACE("%s, h=%d, it=%d, weight=%d, PandF=%02x, charset=%d orient %d escapement %d\n",
@@ -3382,7 +3384,7 @@ found:
     TRACE("Chosen: %s %s (%s/%p:%ld)\n", debugstr_w(family->FamilyName),
 	  debugstr_w(face->StyleName), face->file, face->font_data_ptr, face->face_index);
 
-    ret->aveWidth = height ? abs(lf.lfWidth) : 0;
+    ret->aveWidth = height ? lf.lfWidth : 0;
 
     if(!face->scalable) {
         /* Windows uses integer scaling factors for bitmap fonts */




More information about the wine-cvs mailing list