Index: dm/DMImageTask.cpp |
diff --git a/dm/DMImageTask.cpp b/dm/DMImageTask.cpp |
index 1657984f1ee71d6ed4956320142aa9f1bf053619..6fb7f7d613f1deecb968237a315e1883a589cad2 100644 |
--- a/dm/DMImageTask.cpp |
+++ b/dm/DMImageTask.cpp |
@@ -38,14 +38,15 @@ void ImageTask::draw() { |
return; |
} |
- SkMemoryStream stream(fEncoded->data(), fEncoded->size()); |
- SkAutoTDelete<SkImageDecoder> decoder(SkImageDecoder::Factory(&stream)); |
+ SkAutoTDelete<SkMemoryStream> stream(SkNEW_ARGS(SkMemoryStream, |
+ (fEncoded->data(), fEncoded->size()))); |
+ SkAutoTDelete<SkImageDecoder> decoder(SkImageDecoder::Factory(stream)); |
if (!decoder) { |
return this->fail("Can't find good decoder."); |
} |
int w,h; |
- if (!decoder->buildTileIndex(&stream, &w, &h) || w*h == 1) { |
+ if (!decoder->buildTileIndex(stream.detach(), &w, &h) || w*h == 1) { |
return; // Subset decoding is not always supported. |
} |