--- boost/gil/extension/io/jpeg_io_private.hpp.orig +++ boost/gil/extension/io/jpeg_io_private.hpp @@ -86,10 +86,20 @@ void init() { _cinfo.err=jpeg_std_error(&_jerr); + _cinfo.err->error_exit = error_exit; jpeg_create_decompress(&_cinfo); jpeg_stdio_src(&_cinfo,_fp.get()); jpeg_read_header(&_cinfo,TRUE); } + + static void error_exit(j_common_ptr cinfo) + { + char buffer[JMSG_LENGTH_MAX]; + /* Create the message */ + (*cinfo->err->format_message) (cinfo, buffer); + + io_error(buffer); + } public: jpeg_reader(FILE* file) : file_mgr(file) { init(); } jpeg_reader(const char* filename) : file_mgr(filename, "rb") { init(); }