| Index: src/utils/SkEventTracer.cpp
|
| diff --git a/src/utils/SkEventTracer.cpp b/src/utils/SkEventTracer.cpp
|
| index 0a748d1464d70f9d30ac9d66f5909ad798cb2a2d..32a0207c23ebaa0f3d0ac9edd7a29688a67c0e23 100644
|
| --- a/src/utils/SkEventTracer.cpp
|
| +++ b/src/utils/SkEventTracer.cpp
|
| @@ -7,7 +7,7 @@
|
|
|
| #include "SkAtomics.h"
|
| #include "SkEventTracer.h"
|
| -#include "SkOnce.h"
|
| +#include "SkOncePtr.h"
|
|
|
| #include <stdlib.h>
|
|
|
| @@ -39,8 +39,9 @@
|
| }
|
| };
|
|
|
| -// We prefer gUserTracer if it's been set, otherwise we fall back on a default tracer;
|
| +// We prefer gUserTracer if it's been set, otherwise we fall back on gDefaultTracer.
|
| static SkEventTracer* gUserTracer = nullptr;
|
| +SK_DECLARE_STATIC_ONCE_PTR(SkDefaultEventTracer, gDefaultTracer);
|
|
|
| void SkEventTracer::SetInstance(SkEventTracer* tracer) {
|
| SkASSERT(nullptr == sk_atomic_load(&gUserTracer, sk_memory_order_acquire));
|
| @@ -53,8 +54,5 @@
|
| if (SkEventTracer* tracer = sk_atomic_load(&gUserTracer, sk_memory_order_acquire)) {
|
| return tracer;
|
| }
|
| - static SkOnce once;
|
| - static SkDefaultEventTracer* defaultTracer;
|
| - once([] { defaultTracer = new SkDefaultEventTracer; });
|
| - return defaultTracer;
|
| + return gDefaultTracer.get([]{ return new SkDefaultEventTracer; });
|
| }
|
|
|