| Index: src/images/SkImageDecoder_libjpeg.cpp
|
| diff --git a/src/images/SkImageDecoder_libjpeg.cpp b/src/images/SkImageDecoder_libjpeg.cpp
|
| index e0722e18dc60972719d2634fa06c48dd58070b4e..3c93e6177ddf0773a42bcdc4b935c4317d62f1e6 100644
|
| --- a/src/images/SkImageDecoder_libjpeg.cpp
|
| +++ b/src/images/SkImageDecoder_libjpeg.cpp
|
| @@ -940,10 +940,9 @@ 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);
|
| + set_error_mgr(imageIndex->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 +967,10 @@ bool SkJPEGImageDecoder::onBuildTileIndex(SkStreamRewindable* stream, int *width
|
| return false;
|
| }
|
|
|
| + jpeg_decompress_struct* cinfo = imageIndex->cinfo();
|
| + // We have a new cinfo, so set the error mgr again.
|
| + 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
|
|
|