| Index: src/lazy/SkDiscardablePixelRef.cpp
|
| diff --git a/src/lazy/SkDiscardablePixelRef.cpp b/src/lazy/SkDiscardablePixelRef.cpp
|
| index b51daa6faa7ded8aa34649ef7e381662a2c76d81..50988587a7c1030cf3fd56727e104011f31b4870 100644
|
| --- a/src/lazy/SkDiscardablePixelRef.cpp
|
| +++ b/src/lazy/SkDiscardablePixelRef.cpp
|
| @@ -64,11 +64,17 @@ bool SkDiscardablePixelRef::onNewLockPixels(LockRec* rec) {
|
| SkPMColor colors[256];
|
| int colorCount = 0;
|
|
|
| - if (!fGenerator->getPixels(info, pixels, fRowBytes, colors, &colorCount)) {
|
| - fDiscardableMemory->unlock();
|
| - SkDELETE(fDiscardableMemory);
|
| - fDiscardableMemory = NULL;
|
| - return false;
|
| + const SkImageGenerator::Result result = fGenerator->getPixels(info, pixels, fRowBytes,
|
| + colors, &colorCount);
|
| + switch (result) {
|
| + case SkImageGenerator::kSuccess:
|
| + case SkImageGenerator::kIncompleteInput:
|
| + break;
|
| + default:
|
| + fDiscardableMemory->unlock();
|
| + SkDELETE(fDiscardableMemory);
|
| + fDiscardableMemory = NULL;
|
| + return false;
|
| }
|
|
|
| // Note: our ctable is not purgeable, as it is not stored in the discardablememory block.
|
|
|