Index: src/utils/SkEventTracer.cpp |
diff --git a/src/utils/SkEventTracer.cpp b/src/utils/SkEventTracer.cpp |
index 1c916ed2f666851fba78f1ec42b3ab74919d5cb5..32a0207c23ebaa0f3d0ac9edd7a29688a67c0e23 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; }); |
} |