From d7d48c34e6d65c2358202a9b1e09c44173140851 Mon Sep 17 00:00:00 2001 From: Chris Young Date: Sun, 31 Jul 2011 11:19:52 +0000 Subject: Redirect non-fatal errors to the NetSurf log svn path=/trunk/netsurf/; revision=12633 --- image/jpeg.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'image') diff --git a/image/jpeg.c b/image/jpeg.c index 58fb43e22..7e75c6cf6 100644 --- a/image/jpeg.c +++ b/image/jpeg.c @@ -149,6 +149,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. * @@ -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) -- cgit v1.2.3