diff options
Diffstat (limited to 'src/ports')
-rw-r--r-- | src/ports/SkFontConfigInterface_android.cpp | 3 | ||||
-rw-r--r-- | src/ports/SkFontConfigInterface_direct.cpp | 10 | ||||
-rw-r--r-- | src/ports/SkFontHost_fontconfig.cpp | 2 |
3 files changed, 10 insertions, 5 deletions
diff --git a/src/ports/SkFontConfigInterface_android.cpp b/src/ports/SkFontConfigInterface_android.cpp index 20e6c5eb84..1f901b9fa9 100644 --- a/src/ports/SkFontConfigInterface_android.cpp +++ b/src/ports/SkFontConfigInterface_android.cpp @@ -155,7 +155,8 @@ static SkFontConfigInterfaceAndroid* getSingletonInterface() { return gFontConfigInterface; } -SkFontConfigInterface* SkFontConfigInterface::GetSingletonDirectInterface() { +SkFontConfigInterface* SkFontConfigInterface::GetSingletonDirectInterface(SkBaseMutex*) { + // Doesn't need passed-in mutex because getSingletonInterface() uses one return getSingletonInterface(); } diff --git a/src/ports/SkFontConfigInterface_direct.cpp b/src/ports/SkFontConfigInterface_direct.cpp index dc9afbae1f..c0cfd8fdcf 100644 --- a/src/ports/SkFontConfigInterface_direct.cpp +++ b/src/ports/SkFontConfigInterface_direct.cpp @@ -124,9 +124,13 @@ private: SkMutex mutex_; }; -SkFontConfigInterface* SkFontConfigInterface::GetSingletonDirectInterface() { - SK_DECLARE_STATIC_LAZY_PTR(SkFontConfigInterfaceDirect, direct); - return direct.get(); +SkFontConfigInterface* SkFontConfigInterface::GetSingletonDirectInterface(SkBaseMutex* mutex) { + SkAutoMutexAcquire ac(mutex); + static SkFontConfigInterfaceDirect* singleton = NULL; + if (singleton == NULL) { + singleton = SkNEW(SkFontConfigInterfaceDirect); + } + return singleton; } /////////////////////////////////////////////////////////////////////////////// diff --git a/src/ports/SkFontHost_fontconfig.cpp b/src/ports/SkFontHost_fontconfig.cpp index 07bfbd044c..8abf5cf7f0 100644 --- a/src/ports/SkFontHost_fontconfig.cpp +++ b/src/ports/SkFontHost_fontconfig.cpp @@ -50,7 +50,7 @@ static SkFontConfigInterface* RefFCI() { if (fci) { return fci; } - fci = SkFontConfigInterface::GetSingletonDirectInterface(); + fci = SkFontConfigInterface::GetSingletonDirectInterface(&gFontConfigInterfaceMutex); SkFontConfigInterface::SetGlobal(fci); } } |