diff options
author | halcanary <halcanary@google.com> | 2014-10-17 14:36:10 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-17 14:36:10 -0700 |
commit | daf36c1524bcfd25416c0f85e288554f369e5090 (patch) | |
tree | a7db5d736e0f9bb9b97959eb56f22dbcf7f8e440 /dm | |
parent | 3f752205a5d55b47c2d07486736c5e344b45a017 (diff) |
Fix DMWriteTask to write PDF files correctly
Previously, it was not rewinding the asset.
Review URL: https://codereview.chromium.org/659793004
Diffstat (limited to 'dm')
-rw-r--r-- | dm/DMWriteTask.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/dm/DMWriteTask.cpp b/dm/DMWriteTask.cpp index 819d7e83df..35ae2a7209 100644 --- a/dm/DMWriteTask.cpp +++ b/dm/DMWriteTask.cpp @@ -81,9 +81,13 @@ static SkString get_md5(const void* ptr, size_t len) { return get_md5_string(&hasher); } +static bool write_asset(SkStreamAsset* input, SkWStream* output) { + return input->rewind() && output->writeStream(input, input->getLength()); +} + static SkString get_md5(SkStreamAsset* stream) { SkMD5 hasher; - hasher.writeStream(stream, stream->getLength()); + write_asset(stream, &hasher); return get_md5_string(&hasher); } @@ -154,7 +158,7 @@ void WriteTask::draw() { return this->fail("Can't open file."); } - bool ok = fData ? file.writeStream(fData, fData->getLength()) + bool ok = fData ? write_asset(fData, &file) : SkImageEncoder::EncodeStream(&file, fBitmap, SkImageEncoder::kPNG_Type, 100); if (!ok) { return this->fail("Can't write to file."); |