aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/images
diff options
context:
space:
mode:
authorGravatar scroggo <scroggo@google.com>2015-01-21 14:04:57 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-01-21 14:04:57 -0800
commit3629865bac20ae8092177f519594f79f89d09fb0 (patch)
treebd171c17042ffad30cb5b8c41260c0698922dbfa /src/images
parent968f18cba539301b912ad1481784dc0216b7bbe1 (diff)
Muck with the right cinfo.
In SkImageDecoder_libjpeg, modify cinfo *after* destroying it and creating a new one in its place. Should fix build breakage. Review URL: https://codereview.chromium.org/858333002
Diffstat (limited to 'src/images')
-rw-r--r--src/images/SkImageDecoder_libjpeg.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/images/SkImageDecoder_libjpeg.cpp b/src/images/SkImageDecoder_libjpeg.cpp
index e0722e18dc..75d8a7a32e 100644
--- a/src/images/SkImageDecoder_libjpeg.cpp
+++ b/src/images/SkImageDecoder_libjpeg.cpp
@@ -940,10 +940,8 @@ bool SkJPEGImageDecoder::onDecodeYUV8Planes(SkStream* stream, SkISize componentS
bool SkJPEGImageDecoder::onBuildTileIndex(SkStreamRewindable* stream, int *width, int *height) {
SkAutoTDelete<SkJPEGImageIndex> imageIndex(SkNEW_ARGS(SkJPEGImageIndex, (stream, this)));
- jpeg_decompress_struct* cinfo = imageIndex->cinfo();
skjpeg_error_mgr sk_err;
- set_error_mgr(cinfo, &sk_err);
// All objects need to be instantiated before this setjmp call so that
// they will be cleaned up properly if an error occurs.
@@ -968,6 +966,9 @@ bool SkJPEGImageDecoder::onBuildTileIndex(SkStreamRewindable* stream, int *width
return false;
}
+ jpeg_decompress_struct* cinfo = imageIndex->cinfo();
+ set_error_mgr(cinfo, &sk_err);
+
// FIXME: This sets cinfo->out_color_space, which we may change later
// based on the config in onDecodeSubset. This should be fine, since
// jpeg_init_read_tile_scanline will check out_color_space again after