diff options
author | mtklein <mtklein@chromium.org> | 2014-10-13 13:17:56 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-13 13:17:56 -0700 |
commit | 148ec59001ca7d7e54aec580a048c6dd2a085991 (patch) | |
tree | ee310a6be5a0b53ac4ed05dd6907bd0d328dda6d /src/fonts | |
parent | 70242ace3b2ed06b33ee5ea5c9ac3aedea89b194 (diff) |
Require SK_DECLARE_STATIC_LAZY_PTR is used in global scope.
Function- or method- local scope isn't threadsafe; the pointer is generally
zero-initialized on first use in function scope (i.e. lazily... we have to go
deeper), but for globals we can be pretty sure the linker will do that for us.
BUG=skia:
No public API changes.
TBR=reed@google.com
Review URL: https://codereview.chromium.org/651723003
Diffstat (limited to 'src/fonts')
-rw-r--r-- | src/fonts/SkRemotableFontMgr.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/fonts/SkRemotableFontMgr.cpp b/src/fonts/SkRemotableFontMgr.cpp index 633e91458b..3681f2c8c7 100644 --- a/src/fonts/SkRemotableFontMgr.cpp +++ b/src/fonts/SkRemotableFontMgr.cpp @@ -16,11 +16,12 @@ SkRemotableFontIdentitySet::SkRemotableFontIdentitySet(int count, SkFontIdentity *data = fData; } -SkRemotableFontIdentitySet* SkRemotableFontIdentitySet::NewEmptyImpl() { +// As a template argument, this must have external linkage. +SkRemotableFontIdentitySet* sk_remotable_font_identity_set_new() { return SkNEW(SkRemotableFontIdentitySet); } +SK_DECLARE_STATIC_LAZY_PTR(SkRemotableFontIdentitySet, empty, sk_remotable_font_identity_set_new); SkRemotableFontIdentitySet* SkRemotableFontIdentitySet::NewEmpty() { - SK_DECLARE_STATIC_LAZY_PTR(SkRemotableFontIdentitySet, empty, NewEmptyImpl); return SkRef(empty.get()); } |