aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports
diff options
context:
space:
mode:
authorGravatar yangsu@google.com <yangsu@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-06-24 18:54:08 +0000
committerGravatar yangsu@google.com <yangsu@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-06-24 18:54:08 +0000
commit57d73d628dad2e1a67532d7153603662ec91741d (patch)
tree94ce2369c06e23221979444fdddc9ce5a33b8aa2 /src/ports
parent317d540409bc1d246a272b7f61ffba0097c4bd29 (diff)
Added mutex in GetDefaultFont and added the default font to the FontCache when it's first created
git-svn-id: http://skia.googlecode.com/svn/trunk@1711 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/ports')
-rw-r--r--src/ports/SkFontHost_mac_coretext.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ports/SkFontHost_mac_coretext.cpp b/src/ports/SkFontHost_mac_coretext.cpp
index a48c3650b3..d6b1ecbb06 100644
--- a/src/ports/SkFontHost_mac_coretext.cpp
+++ b/src/ports/SkFontHost_mac_coretext.cpp
@@ -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;
}