Index: gm/gmmain.cpp |
diff --git a/gm/gmmain.cpp b/gm/gmmain.cpp |
index 8f6d53a25530efd509d3ae3b3d48e5d1a4ffade7..9532458f15541b53f75cd357a5bd73cbeb099f8c 100644 |
--- a/gm/gmmain.cpp |
+++ b/gm/gmmain.cpp |
@@ -1051,7 +1051,7 @@ public: |
static SkPicture* stream_to_new_picture(const SkPicture& src) { |
SkDynamicMemoryWStream storage; |
src.serialize(&storage); |
- SkAutoTUnref<SkStreamAsset> pictReadback(storage.detachAsStream()); |
+ SkAutoTDelete<SkStreamAsset> pictReadback(storage.detachAsStream()); |
SkPicture* retval = SkPicture::CreateFromStream(pictReadback, |
&SkImageDecoder::DecodeMemory); |
return retval; |
@@ -1084,7 +1084,7 @@ public: |
if (!generate_pdf(gm, document)) { |
errors.add(kGeneratePdfFailed_ErrorType); |
} else { |
- SkAutoTUnref<SkStreamAsset> documentStream(document.detachAsStream()); |
+ SkAutoTDelete<SkStreamAsset> documentStream(document.detachAsStream()); |
if (writePath && (gRec.fFlags & kWrite_ConfigFlag)) { |
SkString path = make_filename(writePath, gm->getName(), gRec.fName, "", "pdf"); |
errors.add(write_document(path, documentStream)); |
@@ -1093,9 +1093,8 @@ public: |
if (!(gm->getFlags() & GM::kSkipPDFRasterization_Flag)) { |
for (int i = 0; i < pdfRasterizers.count(); i++) { |
SkBitmap pdfBitmap; |
- documentStream->rewind(); |
bool success = (*pdfRasterizers[i]->fRasterizerFunction)( |
- documentStream.get(), &pdfBitmap); |
+ documentStream->duplicate(), &pdfBitmap); |
bungeman-skia
2015/01/15 22:44:55
I think you can just rewind and detach here, since
scroggo
2015/01/16 19:13:37
Actually, that won't work. This loops through the
|
if (!success) { |
SkDebugf("FAILED to render PDF for %s using renderer %s\n", |
gm->getName(), |
@@ -1116,7 +1115,7 @@ public: |
} |
} else if (gRec.fBackend == kXPS_Backend) { |
generate_xps(gm, document); |
- SkAutoTUnref<SkStreamAsset> documentStream(document.detachAsStream()); |
+ SkAutoTDelete<SkStreamAsset> documentStream(document.detachAsStream()); |
errors.add(this->compareTestResultsToStoredExpectations( |
gm, gRec, gRec.fName, NULL)); |
@@ -1390,7 +1389,11 @@ static const ConfigData gRec[] = { |
#endif // SK_SUPPORT_PDF |
}; |
-static bool SkNoRasterizePDF(SkStream*, SkBitmap*) { return false; } |
+// Deletes SkStream, like other rasterizers. |
+static bool SkNoRasterizePDF(SkStream* stream, SkBitmap*) { |
+ SkDELETE(stream); |
+ return false; |
+} |
static const PDFRasterizerData kPDFRasterizers[] = { |
#ifdef SK_BUILD_FOR_MAC |
@@ -1887,7 +1890,7 @@ ErrorCombination run_multiple_configs(GMMain &gmmain, GM *gm, |
* @returns true if able to read lines from the file |
*/ |
static bool read_lines_from_file(const char* filename, SkTArray<SkString> &lines) { |
- SkAutoTUnref<SkStream> streamWrapper(SkStream::NewFromFile(filename)); |
+ SkAutoTDelete<SkStream> streamWrapper(SkStream::NewFromFile(filename)); |
SkStream *stream = streamWrapper.get(); |
if (!stream) { |
SkDebugf("unable to read file '%s'\n", filename); |