summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDonald Carr <donald.carr@nokia.com>2012-02-14 21:55:48 +0000
committerQt by Nokia <qt-info@nokia.com>2012-02-16 02:00:12 +0100
commitb9eb3715f55378802a1a0ae2f61d799ab84ee49a (patch)
treea2d76e85389be4910c1db8196713814f905381b9 /src
parent6a5d1370b3209c7c5ed6fc498190deff69e74552 (diff)
Redirect libjpeg messages via qWarning
This allows us to catch spurious libjpeg warnings via the installation of a message handler Change-Id: I82f3257118b5fbdf66550be80e72f75e9a24d3c1 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src')
-rw-r--r--src/gui/image/qjpeghandler.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gui/image/qjpeghandler.cpp b/src/gui/image/qjpeghandler.cpp
index 0260d18217..013a1a83b0 100644
--- a/src/gui/image/qjpeghandler.cpp
+++ b/src/gui/image/qjpeghandler.cpp
@@ -106,6 +106,13 @@ static void my_error_exit (j_common_ptr cinfo)
longjmp(myerr->setjmp_buffer, 1);
}
+static void my_output_message(j_common_ptr cinfo)
+{
+ char buffer[JMSG_LENGTH_MAX];
+ (*cinfo->err->format_message)(cinfo, buffer);
+ qWarning("%s", buffer);
+}
+
#if defined(Q_C_CALLBACKS)
}
#endif
@@ -530,6 +537,7 @@ static bool write_jpeg_image(const QImage &image, QIODevice *device, int sourceQ
cinfo.err = jpeg_std_error(&jerr);
jerr.error_exit = my_error_exit;
+ jerr.output_message = my_output_message;
if (!setjmp(jerr.setjmp_buffer)) {
// WARNING:
@@ -744,6 +752,7 @@ bool QJpegHandlerPrivate::readJpegHeader(QIODevice *device)
info.src = iod_src;
info.err = jpeg_std_error(&err);
err.error_exit = my_error_exit;
+ err.output_message = my_output_message;
if (!setjmp(err.setjmp_buffer)) {
#if defined(Q_OS_UNIXWARE)