Chromium Code Reviews| Index: src/images/SkImageDecoder_astc.cpp |
| diff --git a/src/images/SkImageDecoder_astc.cpp b/src/images/SkImageDecoder_astc.cpp |
| index e1a6a06fa7588ce8fdc470b87c00d352c077a5a3..8989464f3b8d0ee4d25989de165f5c60b5b0963f 100644 |
| --- a/src/images/SkImageDecoder_astc.cpp |
| +++ b/src/images/SkImageDecoder_astc.cpp |
| @@ -5,6 +5,7 @@ |
| * found in the LICENSE file. |
| */ |
| +#include "SkData.h" |
| #include "SkEndian.h" |
| #include "SkColorPriv.h" |
| #include "SkImageDecoder.h" |
| @@ -43,13 +44,12 @@ static inline int read_24bit(const uint8_t* buf) { |
| } |
| SkImageDecoder::Result SkASTCImageDecoder::onDecode(SkStream* stream, SkBitmap* bm, Mode mode) { |
| - SkAutoMalloc autoMal; |
| - const size_t length = SkCopyStreamToStorage(&autoMal, stream); |
| - if (0 == length) { |
| + SkAutoTUnref<SkData> data(SkCopyStreamToData(stream)); |
|
scroggo
2016/01/19 15:19:39
Alternatively, we can just delete this class. No o
msarett
2016/01/19 15:32:23
I'm not sure how complex deleting ASTC is. If it'
|
| + if (!data || !data->size()) { |
| return kFailure; |
| } |
| - unsigned char* buf = (unsigned char*)autoMal.get(); |
| + unsigned char* buf = (unsigned char*) data->data(); |
| // Make sure that the magic header is there... |
| SkASSERT(SkEndian_SwapLE32(*(reinterpret_cast<uint32_t*>(buf))) == kASTCMagicNumber); |