From cf800e0486eb6ae449a898c78766a5d71a29114e Mon Sep 17 00:00:00 2001 From: "bungeman@google.com" Date: Mon, 5 May 2014 22:33:45 +0000 Subject: [PATCH] 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 --- src/ports/SkFontConfigInterface_direct.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/ports/SkFontConfigInterface_direct.cpp b/src/ports/SkFontConfigInterface_direct.cpp index 13993f10c0..80ee56e85c 100644 --- a/src/ports/SkFontConfigInterface_direct.cpp +++ b/src/ports/SkFontConfigInterface_direct.cpp @@ -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; } -- 2.34.1