Initialize the SkFontConfigInterface singleton with SkOnce.

BUG=chromium:369257
R=mtklein@google.com

Review URL: https://codereview.chromium.org/269143002

git-svn-id: http://skia.googlecode.com/svn/trunk@14583 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
bungeman@google.com 2014-05-05 22:33:45 +00:00
parent 73fffeb83a
commit cf800e0486

View File

@ -15,6 +15,7 @@
#include "SkBuffer.h"
#include "SkFontConfigInterface.h"
#include "SkOnce.h"
#include "SkStream.h"
size_t SkFontConfigInterface::FontIdentity::writeToMemory(void* addr) const {
@ -123,16 +124,13 @@ private:
SkMutex mutex_;
};
static void create_singleton_direct_interface(SkFontConfigInterface** singleton) {
*singleton = new SkFontConfigInterfaceDirect;
}
SkFontConfigInterface* SkFontConfigInterface::GetSingletonDirectInterface() {
static SkFontConfigInterface* gDirect;
if (NULL == gDirect) {
static SkMutex gMutex;
SkAutoMutexAcquire ac(gMutex);
if (NULL == gDirect) {
gDirect = new SkFontConfigInterfaceDirect;
}
}
SK_DECLARE_STATIC_ONCE(once);
SkOnce(&once, create_singleton_direct_interface, &gDirect);
return gDirect;
}