| Index: src/pdf/SkPDFDevice.cpp
|
| diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp
|
| index 86d4d07acbd3f5d9f79ff04d8407c2126ee7f647..94a103aeb1ad2a8b849d6bc19d9abc40163ef0a7 100644
|
| --- a/src/pdf/SkPDFDevice.cpp
|
| +++ b/src/pdf/SkPDFDevice.cpp
|
| @@ -595,9 +595,9 @@ struct ContentEntry {
|
| // If the stack is too deep we could get Stack Overflow.
|
| // So we manually destruct the object.
|
| ~ContentEntry() {
|
| - ContentEntry* val = fNext.detach();
|
| + ContentEntry* val = fNext.release();
|
| while (val != nullptr) {
|
| - ContentEntry* valNext = val->fNext.detach();
|
| + ContentEntry* valNext = val->fNext.release();
|
| // When the destructor is called, fNext is nullptr and exits.
|
| delete val;
|
| val = valNext;
|
| @@ -1851,7 +1851,7 @@ ContentEntry* SkPDFDevice::setUpContentEntry(const SkClipStack* clipStack,
|
| contentEntries->reset(entry);
|
| setLastContentEntry(entry);
|
| } else if (xfermode == SkXfermode::kDstOver_Mode) {
|
| - entry->fNext.reset(contentEntries->detach());
|
| + entry->fNext.reset(contentEntries->release());
|
| contentEntries->reset(entry);
|
| } else {
|
| lastContentEntry->fNext.reset(entry);
|
| @@ -1885,7 +1885,7 @@ void SkPDFDevice::finishContentEntry(SkXfermode::Mode xfermode,
|
| // of the content entries. If nothing was drawn, it needs to be
|
| // removed.
|
| SkAutoTDelete<ContentEntry>* contentEntries = getContentEntries();
|
| - contentEntries->reset(firstContentEntry->fNext.detach());
|
| + contentEntries->reset(firstContentEntry->fNext.release());
|
| }
|
| return;
|
| }
|
|
|