aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/codec/SkSampledCodec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/codec/SkSampledCodec.cpp')
-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);
}