aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar msarett <msarett@google.com>2015-11-05 11:19:29 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-11-05 11:19:29 -0800
commit691ad76fca076967806fe99587cf51595b7ad5a5 (patch)
treee57bb730aca0d311bc7096226f797ac47d6ec2c4
parent5d7a7fe5631d87ca3c18d2f75d8402906616c17b (diff)
Fix bug in sampled decodes
-rw-r--r--src/codec/SkSampledCodec.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/codec/SkSampledCodec.cpp b/src/codec/SkSampledCodec.cpp
index 5302149e12..d5fbd0fa52 100644
--- a/src/codec/SkSampledCodec.cpp
+++ b/src/codec/SkSampledCodec.cpp
@@ -215,11 +215,12 @@ SkCodec::Result SkSampledCodec::sampledDecode(const SkImageInfo& info, void* pix
dstHeight, y + 1);
return SkCodec::kIncompleteInput;
}
- int linesToSkip = SkTMin(sampleY - 1, dstHeight - y - 1);
- if (!fCodec->skipScanlines(linesToSkip)) {
- fCodec->fillIncompleteImage(info, pixels, rowBytes, options.fZeroInitialized,
- dstHeight, y + 1);
- return SkCodec::kIncompleteInput;
+ if (y < dstHeight - 1) {
+ if (!fCodec->skipScanlines(sampleY - 1)) {
+ fCodec->fillIncompleteImage(info, pixels, rowBytes,
+ options.fZeroInitialized, dstHeight, y + 1);
+ return SkCodec::kIncompleteInput;
+ }
}
pixelPtr = SkTAddOffset<void>(pixelPtr, rowBytes);
}