Added mutex in GetDefaultFont and added the default font to the FontCache when it...
authoryangsu@google.com <yangsu@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Fri, 24 Jun 2011 18:54:08 +0000 (18:54 +0000)
committeryangsu@google.com <yangsu@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Fri, 24 Jun 2011 18:54:08 +0000 (18:54 +0000)
git-svn-id: http://skia.googlecode.com/svn/trunk@1711 2bbb7eff-a529-9590-31e7-b0007b416f81

src/ports/SkFontHost_mac_coretext.cpp

index a48c365..d6b1ecb 100644 (file)
@@ -21,6 +21,7 @@
 #ifdef SK_BUILD_FOR_IOS
 #include <CoreText/CoreText.h>
 #include <CoreGraphics/CoreGraphics.h>
+#include <CoreFoundation/CoreFoundation.h>
 #endif
 
 #include "SkFontHost.h"
@@ -30,6 +31,7 @@
 #include "SkPaint.h"
 #include "SkString.h"
 #include "SkStream.h"
+#include "SkThread.h"
 #include "SkTypeface_mac.h"
 #include "SkUtils.h"
 #include "SkTypefaceCache.h"
@@ -155,10 +157,14 @@ static CTFontRef GetFontRefFromFontID(SkFontID fontID) {
 }
 
 static SkTypeface* GetDefaultFace() {
+    static SkMutex gMutex;
+    SkAutoMutexAcquire ma(gMutex);
+
     static SkTypeface* gDefaultFace;
 
     if (NULL == gDefaultFace) {
         gDefaultFace = NewFromName(FONT_DEFAULT_NAME, SkTypeface::kNormal);
+        SkTypefaceCache::Add(gDefaultFace, SkTypeface::kNormal);
     }
     return gDefaultFace;
 }