Alexandre Julliard : gdi32: Disable the freetype mmap sharing on Mac OS.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Dec 8 06:07:00 CST 2006


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Dec  8 12:14:13 2006 +0100

gdi32: Disable the freetype mmap sharing on Mac OS.

---

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

diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index 6301a5f..ab4a266 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -1887,6 +1887,7 @@ static LONG calc_ppem_for_height(FT_Face
 
 static struct font_mapping *map_font( const char *name )
 {
+#ifndef __APPLE__  /* Mac OS fonts use resource forks, we can't simply mmap them */
     struct font_mapping *mapping;
     struct stat st;
     int fd;
@@ -1923,6 +1924,7 @@ static struct font_mapping *map_font( co
 
 error:
     close( fd );
+#endif
     return NULL;
 }
 
@@ -1945,13 +1947,11 @@ static FT_Face OpenFontFile(GdiFont *fon
 
     TRACE("%s, %ld, %d x %d\n", debugstr_a(file), face_index, width, height);
 
-    if (!(font->mapping = map_font( file )))
-    {
-        WARN("failed to map %s\n", debugstr_a(file));
-        return 0;
-    }
+    if ((font->mapping = map_font( file )))
+        err = pFT_New_Memory_Face(library, font->mapping->data, font->mapping->size, face_index, &ft_face);
+    else
+        err = pFT_New_Face(library, file, face_index, &ft_face);
 
-    err = pFT_New_Memory_Face(library, font->mapping->data, font->mapping->size, face_index, &ft_face);
     if(err) {
         ERR("FT_New_Face rets %d\n", err);
 	return 0;




More information about the wine-cvs mailing list