aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/utils
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2015-09-09 09:09:53 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-09-09 09:09:53 -0700
commit6c59d80858f453a426df9b07fdf3a8cc01e0b906 (patch)
tree1fc4c3c03062744c4382a40e608bdb147bebad09 /src/utils
parent336cda3fc0e01cd80212e0ac133d65b60824868e (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.cpp6
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; });
}