| Index: src/images/SkImageRef.cpp
|
| diff --git a/src/images/SkImageRef.cpp b/src/images/SkImageRef.cpp
|
| index 1a8284bdd4a6e730da950ce244355867295cb0de..9d54d151a73f566ebf8792daa0b5a802b1e0f9c1 100644
|
| --- a/src/images/SkImageRef.cpp
|
| +++ b/src/images/SkImageRef.cpp
|
| @@ -15,12 +15,17 @@
|
|
|
| //#define DUMP_IMAGEREF_LIFECYCLE
|
|
|
| +static SkImageInfo dummy_info() {
|
| + SkImageInfo info;
|
| + sk_bzero(&info, sizeof(info));
|
| + return info;
|
| +}
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
|
|
| SkImageRef::SkImageRef(SkStreamRewindable* stream, SkBitmap::Config config,
|
| int sampleSize, SkBaseMutex* mutex)
|
| - : SkPixelRef(mutex), fErrorInDecoding(false) {
|
| + : SkPixelRef(dummy_info(), mutex), fErrorInDecoding(false) {
|
| SkASSERT(stream);
|
| stream->ref();
|
| fStream = stream;
|
| @@ -143,15 +148,18 @@ bool SkImageRef::prepareBitmap(SkImageDecoder::Mode mode) {
|
| return false;
|
| }
|
|
|
| -void* SkImageRef::onLockPixels(SkColorTable** ct) {
|
| +bool SkImageRef::onNewLockPixels(LockRec* rec) {
|
| if (NULL == fBitmap.getPixels()) {
|
| (void)this->prepareBitmap(SkImageDecoder::kDecodePixels_Mode);
|
| }
|
|
|
| - if (ct) {
|
| - *ct = fBitmap.getColorTable();
|
| + if (NULL == fBitmap.getPixels()) {
|
| + return false;
|
| }
|
| - return fBitmap.getPixels();
|
| + rec->fPixels = fBitmap.getPixels();
|
| + rec->fColorTable = NULL;
|
| + rec->fRowBytes = fBitmap.rowBytes();
|
| + return true;
|
| }
|
|
|
| size_t SkImageRef::ramUsed() const {
|
|
|