aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/lazy/SkDiscardablePixelRef.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lazy/SkDiscardablePixelRef.cpp')
-rw-r--r--src/lazy/SkDiscardablePixelRef.cpp19
1 files changed, 2 insertions, 17 deletions
diff --git a/src/lazy/SkDiscardablePixelRef.cpp b/src/lazy/SkDiscardablePixelRef.cpp
index b0bbd27e3a..ccf812ce6f 100644
--- a/src/lazy/SkDiscardablePixelRef.cpp
+++ b/src/lazy/SkDiscardablePixelRef.cpp
@@ -60,30 +60,15 @@ bool SkDiscardablePixelRef::onNewLockPixels(LockRec* rec) {
}
void* pixels = fDiscardableMemory->data();
- const SkImageInfo& info = this->info();
- SkPMColor colors[256];
- int colorCount = 0;
-
- if (!fGenerator->getPixels(info, pixels, fRowBytes, colors, &colorCount)) {
+ if (!fGenerator->getPixels(this->info(), pixels, fRowBytes)) {
fDiscardableMemory->unlock();
SkDELETE(fDiscardableMemory);
fDiscardableMemory = NULL;
return false;
}
- // Note: our ctable is not purgable, as it is not stored in the discardablememory block.
- // This is because SkColorTable is refcntable, and therefore our caller could hold onto it
- // beyond the scope of a lock/unlock. If we change the API/lifecycle for SkColorTable, we
- // could move it into the block, but then again perhaps it is small enough that this doesn't
- // really matter.
- if (colorCount > 0) {
- fCTable.reset(SkNEW_ARGS(SkColorTable, (colors, colorCount)));
- } else {
- fCTable.reset(NULL);
- }
-
rec->fPixels = pixels;
- rec->fColorTable = fCTable.get();
+ rec->fColorTable = NULL;
rec->fRowBytes = fRowBytes;
return true;
}