aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/pdf/SkPDFTypes.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pdf/SkPDFTypes.cpp')
-rw-r--r--src/pdf/SkPDFTypes.cpp24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/pdf/SkPDFTypes.cpp b/src/pdf/SkPDFTypes.cpp
index 600145e08f..7de6d682ec 100644
--- a/src/pdf/SkPDFTypes.cpp
+++ b/src/pdf/SkPDFTypes.cpp
@@ -288,7 +288,7 @@ SkString SkPDFName::formatName(const SkString& input) {
SkPDFArray::SkPDFArray() {}
SkPDFArray::~SkPDFArray() {
- fValue.safeUnrefAll();
+ fValue.unrefAll();
}
void SkPDFArray::emitObject(SkWStream* stream, SkPDFCatalog* catalog,
@@ -324,15 +324,15 @@ void SkPDFArray::reserve(int length) {
SkPDFObject* SkPDFArray::setAt(int offset, SkPDFObject* value) {
SkASSERT(offset < fValue.count());
- SkSafeUnref(fValue[offset]);
+ value->ref();
+ fValue[offset]->unref();
fValue[offset] = value;
- SkSafeRef(fValue[offset]);
return value;
}
SkPDFObject* SkPDFArray::append(SkPDFObject* value) {
SkASSERT(fValue.count() < kMaxLen);
- SkSafeRef(value);
+ value->ref();
fValue.push(value);
return value;
}
@@ -375,24 +375,26 @@ size_t SkPDFDict::getOutputSize(SkPDFCatalog* catalog, bool indirect) {
}
SkPDFObject* SkPDFDict::insert(SkPDFName* key, SkPDFObject* value) {
+ key->ref();
+ value->ref();
struct Rec* newEntry = fValue.append();
newEntry->key = key;
- SkSafeRef(newEntry->key);
newEntry->value = value;
- SkSafeRef(newEntry->value);
return value;
}
SkPDFObject* SkPDFDict::insert(const char key[], SkPDFObject* value) {
- SkRefPtr<SkPDFName> keyName = new SkPDFName(key);
- keyName->unref(); // SkRefPtr and new both took a reference.
- return insert(keyName.get(), value);
+ value->ref();
+ struct Rec* newEntry = fValue.append();
+ newEntry->key = new SkPDFName(key);
+ newEntry->value = value;
+ return value;
}
void SkPDFDict::clear() {
for (int i = 0; i < fValue.count(); i++) {
- SkSafeUnref(fValue[i].key);
- SkSafeUnref(fValue[i].value);
+ fValue[i].key->unref();
+ fValue[i].value->unref();
}
fValue.reset();
}