diff options
author | 2015-09-09 09:09:53 -0700 | |
---|---|---|
committer | 2015-09-09 09:09:53 -0700 | |
commit | 6c59d80858f453a426df9b07fdf3a8cc01e0b906 (patch) | |
tree | 1fc4c3c03062744c4382a40e608bdb147bebad09 /src/utils | |
parent | 336cda3fc0e01cd80212e0ac133d65b60824868e (diff) |
Port uses of SkLazyPtr to SkOncePtr.
This gives SkOncePtr a non-trivial destructor that uses std::default_delete
by default. This is overrideable, as seen in SkColorTable.
SK_DECLARE_STATIC_ONCE_PTR still just leaves its pointers hanging at EOP.
BUG=skia:
No public API changes.
TBR=reed@google.com
Committed: https://skia.googlesource.com/skia/+/a1254acdb344174e761f5061c820559dab64a74c
Review URL: https://codereview.chromium.org/1322933005
Diffstat (limited to 'src/utils')
-rw-r--r-- | src/utils/SkEventTracer.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/utils/SkEventTracer.cpp b/src/utils/SkEventTracer.cpp index 1c916ed2f6..32a0207c23 100644 --- a/src/utils/SkEventTracer.cpp +++ b/src/utils/SkEventTracer.cpp @@ -7,7 +7,7 @@ #include "SkAtomics.h" #include "SkEventTracer.h" -#include "SkLazyPtr.h" +#include "SkOncePtr.h" #include <stdlib.h> @@ -41,7 +41,7 @@ class SkDefaultEventTracer : public SkEventTracer { // We prefer gUserTracer if it's been set, otherwise we fall back on gDefaultTracer. static SkEventTracer* gUserTracer = nullptr; -SK_DECLARE_STATIC_LAZY_PTR(SkDefaultEventTracer, gDefaultTracer); +SK_DECLARE_STATIC_ONCE_PTR(SkDefaultEventTracer, gDefaultTracer); void SkEventTracer::SetInstance(SkEventTracer* tracer) { SkASSERT(nullptr == sk_atomic_load(&gUserTracer, sk_memory_order_acquire)); @@ -54,5 +54,5 @@ SkEventTracer* SkEventTracer::GetInstance() { if (SkEventTracer* tracer = sk_atomic_load(&gUserTracer, sk_memory_order_acquire)) { return tracer; } - return gDefaultTracer.get(); + return gDefaultTracer.get([]{ return new SkDefaultEventTracer; }); } |