Revert of Muck with the right cinfo. (patchset #2 id:20001 of https://codereview.chromium.org/858333002/)
Reason for revert:
Appears to cause Android dm to segfault.
Original issue's description:
> 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.
>
> Committed: https://skia.googlesource.com/skia/+/3629865bac20ae8092177f519594f79f89d09fb0
TBR=scroggo@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/858323003
diff --git a/src/images/SkImageDecoder_libjpeg.cpp b/src/images/SkImageDecoder_libjpeg.cpp
index 75d8a7a..e0722e1 100644
--- a/src/images/SkImageDecoder_libjpeg.cpp
+++ b/src/images/SkImageDecoder_libjpeg.cpp
@@ -940,8 +940,10 @@
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.
@@ -966,9 +968,6 @@
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