From 02ca49fc466bc54831c3a8f03b1b3c6ab6bba498 Mon Sep 17 00:00:00 2001 From: Ben Wagner Date: Tue, 10 Jul 2018 16:26:34 -0400 Subject: Move SkWriteBuffer to smart pointers. The fields fFactorySet and fTFSet and their setting member functions are changed to use smart pointers instead of manually handling the reference counting. Change-Id: I7d8e9f3dff5a7b4770959c5cc143a3ac7289d108 Reviewed-on: https://skia-review.googlesource.com/140348 Reviewed-by: Herb Derby Commit-Queue: Ben Wagner --- src/core/SkWriteBuffer.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'src/core/SkWriteBuffer.cpp') diff --git a/src/core/SkWriteBuffer.cpp b/src/core/SkWriteBuffer.cpp index a40e9abaa8..8300f61d4b 100644 --- a/src/core/SkWriteBuffer.cpp +++ b/src/core/SkWriteBuffer.cpp @@ -27,14 +27,11 @@ SkBinaryWriteBuffer::SkBinaryWriteBuffer() SkBinaryWriteBuffer::SkBinaryWriteBuffer(void* storage, size_t storageSize) : fFactorySet(nullptr) + , fTFSet(nullptr) , fWriter(storage, storageSize) - , fTFSet(nullptr) { -} +{} -SkBinaryWriteBuffer::~SkBinaryWriteBuffer() { - SkSafeUnref(fFactorySet); - SkSafeUnref(fTFSet); -} +SkBinaryWriteBuffer::~SkBinaryWriteBuffer() {} bool SkBinaryWriteBuffer::usingInitialStorage() const { return fWriter.usingInitialStorage(); @@ -204,14 +201,12 @@ void SkBinaryWriteBuffer::writePaint(const SkPaint& paint) { SkPaintPriv::Flatten(paint, *this); } -SkFactorySet* SkBinaryWriteBuffer::setFactoryRecorder(SkFactorySet* rec) { - SkRefCnt_SafeAssign(fFactorySet, rec); - return rec; +void SkBinaryWriteBuffer::setFactoryRecorder(sk_sp rec) { + fFactorySet = std::move(rec); } -SkRefCntSet* SkBinaryWriteBuffer::setTypefaceRecorder(SkRefCntSet* rec) { - SkRefCnt_SafeAssign(fTFSet, rec); - return rec; +void SkBinaryWriteBuffer::setTypefaceRecorder(sk_sp rec) { + fTFSet = std::move(rec); } void SkBinaryWriteBuffer::writeFlattenable(const SkFlattenable* flattenable) { -- cgit v1.2.3