| Index: src/core/SkPixelRef.cpp | 
| diff --git a/src/core/SkPixelRef.cpp b/src/core/SkPixelRef.cpp | 
| index 082435f8c778cf2bfb60ecf1f75f7a3fad2c3a3a..6d36915d9afc37e4878ef5bb98dff2f27c03641a 100644 | 
| --- a/src/core/SkPixelRef.cpp | 
| +++ b/src/core/SkPixelRef.cpp | 
| @@ -160,12 +160,10 @@ void SkPixelRef::cloneGenID(const SkPixelRef& that) { | 
| SkASSERT(!that. genIDIsUnique()); | 
| } | 
|  | 
| -static void validate_pixels_ctable(const SkImageInfo& info, const void* pixels, | 
| -                                   const SkColorTable* ctable) { | 
| +static void validate_pixels_ctable(const SkImageInfo& info, const SkColorTable* ctable) { | 
| if (info.isEmpty()) { | 
| -        return; // can't require pixels if the dimensions are empty | 
| +        return; // can't require ctable if the dimensions are empty | 
| } | 
| -    SkASSERT(pixels); | 
| if (kIndex_8_SkColorType == info.colorType()) { | 
| SkASSERT(ctable); | 
| } else { | 
| @@ -175,7 +173,8 @@ static void validate_pixels_ctable(const SkImageInfo& info, const void* pixels, | 
|  | 
| void SkPixelRef::setPreLocked(void* pixels, size_t rowBytes, SkColorTable* ctable) { | 
| #ifndef SK_IGNORE_PIXELREF_SETPRELOCKED | 
| -    validate_pixels_ctable(fInfo, pixels, ctable); | 
| +    SkASSERT(pixels); | 
| +    validate_pixels_ctable(fInfo, ctable); | 
| // only call me in your constructor, otherwise fLockCount tracking can get | 
| // out of sync. | 
| fRec.fPixels = pixels; | 
| @@ -198,8 +197,11 @@ bool SkPixelRef::lockPixelsInsideMutex() { | 
| return false; | 
| } | 
| } | 
| -    validate_pixels_ctable(fInfo, fRec.fPixels, fRec.fColorTable); | 
| -    return fRec.fPixels != NULL; | 
| +    if (fRec.fPixels) { | 
| +        validate_pixels_ctable(fInfo, fRec.fColorTable); | 
| +        return true; | 
| +    } | 
| +    return false; | 
| } | 
|  | 
| // For historical reasons, we always inc fLockCount, even if we return false. | 
| @@ -223,8 +225,11 @@ bool SkPixelRef::lockPixels() { | 
| return false; | 
| } | 
| } | 
| -    validate_pixels_ctable(fInfo, fRec.fPixels, fRec.fColorTable); | 
| -    return fRec.fPixels != NULL; | 
| +    if (fRec.fPixels) { | 
| +        validate_pixels_ctable(fInfo, fRec.fColorTable); | 
| +        return true; | 
| +    } | 
| +    return false; | 
| } | 
|  | 
| bool SkPixelRef::lockPixels(LockRec* rec) { | 
| @@ -277,8 +282,11 @@ bool SkPixelRef::requestLock(const LockRequest& request, LockResult* result) { | 
| return false; | 
| } | 
| } | 
| -    validate_pixels_ctable(fInfo, result->fPixels, result->fCTable); | 
| -    return result->fPixels != NULL; | 
| +    if (result->fPixels) { | 
| +        validate_pixels_ctable(fInfo, result->fCTable); | 
| +        return true; | 
| +    } | 
| +    return false; | 
| } | 
|  | 
| bool SkPixelRef::lockPixelsAreWritable() const { | 
|  |