aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports
diff options
context:
space:
mode:
authorGravatar Ben Wagner <bungeman@google.com>2018-05-14 13:51:10 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-14 19:25:10 +0000
commita20681c2ac9d1a36875289b6207cbcd3a36132f7 (patch)
tree6e9b7c9cf13554ebf0129cf7f4766998f0b1c375 /src/ports
parent8803ebb470e73a5738cd09c48adbafec062229a8 (diff)
Move SkFontConfigInterface to smart pointers.
This old interface may be easier to move away from if it isn't so difficult to understand. Change-Id: Ib04b00e55fd5c11aca8cc70bc6c7b0b5ba98dcae Reviewed-on: https://skia-review.googlesource.com/127969 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
Diffstat (limited to 'src/ports')
-rw-r--r--src/ports/SkFontConfigInterface.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/ports/SkFontConfigInterface.cpp b/src/ports/SkFontConfigInterface.cpp
index 5b8731c3d0..a30bd2dac2 100644
--- a/src/ports/SkFontConfigInterface.cpp
+++ b/src/ports/SkFontConfigInterface.cpp
@@ -11,20 +11,26 @@
#include "SkRefCnt.h"
SK_DECLARE_STATIC_MUTEX(gFontConfigInterfaceMutex);
-static SkFontConfigInterface* gFontConfigInterface;
+static sk_sp<SkFontConfigInterface> gFontConfigInterface(nullptr);
-SkFontConfigInterface* SkFontConfigInterface::RefGlobal() {
+sk_sp<SkFontConfigInterface> SkFontConfigInterface::RefGlobal() {
SkAutoMutexAcquire ac(gFontConfigInterfaceMutex);
if (gFontConfigInterface) {
- return SkRef(gFontConfigInterface);
+ return gFontConfigInterface;
}
- return SkSafeRef(SkFontConfigInterface::GetSingletonDirectInterface());
+ return sk_ref_sp(SkFontConfigInterface::GetSingletonDirectInterface());
}
SkFontConfigInterface* SkFontConfigInterface::SetGlobal(SkFontConfigInterface* fc) {
SkAutoMutexAcquire ac(gFontConfigInterfaceMutex);
- SkRefCnt_SafeAssign(gFontConfigInterface, fc);
+ gFontConfigInterface = sk_ref_sp(fc);
return fc;
}
+
+void SkFontConfigInterface::SetGlobal(sk_sp<SkFontConfigInterface> fc) {
+ SkAutoMutexAcquire ac(gFontConfigInterfaceMutex);
+
+ gFontConfigInterface = std::move(fc);
+}