diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2011-07-31 11:19:52 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2011-07-31 11:19:52 +0000 |
commit | d7d48c34e6d65c2358202a9b1e09c44173140851 (patch) | |
tree | d978a383faf1e6c3811067c4bea02c5ce1ec7eb7 | |
parent | e0590ba4da9c4b3cefd248723c8720a4073d5ae9 (diff) | |
download | netsurf-d7d48c34e6d65c2358202a9b1e09c44173140851.tar.gz netsurf-d7d48c34e6d65c2358202a9b1e09c44173140851.tar.bz2 |
Redirect non-fatal errors to the NetSurf log
svn path=/trunk/netsurf/; revision=12633
-rw-r--r-- | image/jpeg.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/image/jpeg.c b/image/jpeg.c index 58fb43e22..7e75c6cf6 100644 --- a/image/jpeg.c +++ b/image/jpeg.c @@ -150,6 +150,21 @@ static void nsjpeg_term_source(j_decompress_ptr cinfo) /** + * Error output handler for JPEG library. + * + * This logs to NetSurf log instead of stderr. + * Warnings only - fatal errors are trapped by nsjpeg_error_exit + * and do not call the output handler. + */ +static void nsjpeg_error_log(j_common_ptr cinfo) +{ + struct nsjpeg_error_mgr *err = (struct nsjpeg_error_mgr *) cinfo->err; + err->pub.format_message(cinfo, nsjpeg_error_buffer); + LOG(("%s", nsjpeg_error_buffer)); +} + + +/** * Fatal error handler for JPEG library. * * This prevents jpeglib calling exit() on a fatal error. @@ -187,6 +202,7 @@ static bool nsjpeg_convert(struct content *c) cinfo.err = jpeg_std_error(&jerr.pub); jerr.pub.error_exit = nsjpeg_error_exit; + jerr.pub.output_message = nsjpeg_error_log; if (setjmp(jerr.setjmp_buffer)) { jpeg_destroy_decompress(&cinfo); if (bitmap) |