summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-09-28 10:49:28 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-09-30 08:39:45 +0200
commit426308a93bc4ab52faa40fe53d3c0e52fce4072c (patch)
treed97c2ee98340b6b3bd1a45be57825954a26404df
parentb3db55fa6f2c63fafa421cb217df5038cdd13e98 (diff)
Add logging categories to image handlers
Change-Id: Ia0c47826d08b3f641c17d8a585f62d008a8b095b Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
-rw-r--r--src/gui/image/qimageiohandler.cpp7
-rw-r--r--src/gui/image/qpnghandler.cpp11
-rw-r--r--src/gui/image/qppmhandler.cpp9
-rw-r--r--src/gui/image/qxbmhandler.cpp9
-rw-r--r--src/gui/image/qxpmhandler.cpp21
-rw-r--r--src/plugins/imageformats/gif/qgifhandler.cpp5
-rw-r--r--src/plugins/imageformats/ico/qicohandler.cpp7
-rw-r--r--src/plugins/imageformats/jpeg/qjpeghandler.cpp12
-rw-r--r--tests/auto/gui/image/qimagereader/tst_qimagereader.cpp8
9 files changed, 61 insertions, 28 deletions
diff --git a/src/gui/image/qimageiohandler.cpp b/src/gui/image/qimageiohandler.cpp
index 96dfa8d670..75a2f2ac65 100644
--- a/src/gui/image/qimageiohandler.cpp
+++ b/src/gui/image/qimageiohandler.cpp
@@ -270,10 +270,13 @@
#include <qbytearray.h>
#include <qimagereader.h>
+#include <qloggingcategory.h>
#include <qvariant.h>
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(lcImageIo, "qt.gui.imageio")
+
class QIODevice;
class QImageIOHandlerPrivate
@@ -584,8 +587,8 @@ bool QImageIOHandler::allocateImage(QSize size, QImage::Format format, QImage *i
return false;
const qsizetype mb = szp.totalSize >> 20;
if (mb > mbLimit || (mb == mbLimit && szp.totalSize % (1 << 20))) {
- qWarning("QImageIOHandler: Rejecting image as it exceeds the current "
- "allocation limit of %i megabytes", mbLimit);
+ qCWarning(lcImageIo, "QImageIOHandler: Rejecting image as it exceeds the current "
+ "allocation limit of %i megabytes", mbLimit);
return false;
}
}
diff --git a/src/gui/image/qpnghandler.cpp b/src/gui/image/qpnghandler.cpp
index 4b12ea6479..897055f7ae 100644
--- a/src/gui/image/qpnghandler.cpp
+++ b/src/gui/image/qpnghandler.cpp
@@ -45,6 +45,7 @@
#include <qdebug.h>
#include <qiodevice.h>
#include <qimage.h>
+#include <qloggingcategory.h>
#include <qvariant.h>
#include <private/qimage_p.h> // for qt_getImageText
@@ -80,6 +81,8 @@
QT_BEGIN_NAMESPACE
+Q_DECLARE_LOGGING_CATEGORY(lcImageIo)
+
// avoid going through QImage::scanLine() which calls detach
#define FAST_SCAN_LINE(data, bpl, y) (data + (y) * bpl)
@@ -497,7 +500,7 @@ static void read_image_scaled(QImage *outImage, png_structp png_ptr, png_infop i
extern "C" {
static void qt_png_warning(png_structp /*png_ptr*/, png_const_charp message)
{
- qWarning("libpng warning: %s", message);
+ qCWarning(lcImageIo, "libpng warning: %s", message);
}
}
@@ -587,7 +590,7 @@ bool QPngHandlerPrivate::readPngHeader()
png_get_iCCP(png_ptr, info_ptr, &name, &compressionType, &profileData, &profLen);
colorSpace = QColorSpace::fromIccProfile(QByteArray((const char *)profileData, profLen));
if (!colorSpace.isValid()) {
- qWarning() << "QPngHandler: Failed to parse ICC profile";
+ qCWarning(lcImageIo) << "QPngHandler: Failed to parse ICC profile";
} else {
QColorSpacePrivate *csD = QColorSpacePrivate::getWritable(colorSpace);
if (csD->description.isEmpty())
@@ -911,7 +914,7 @@ bool QPNGImageWriter::writeImage(const QImage& image, int compression_in, const
int compression = compression_in;
if (compression >= 0) {
if (compression > 9) {
- qWarning("PNG: Compression %d out of range", compression);
+ qCWarning(lcImageIo, "PNG: Compression %d out of range", compression);
compression = 9;
}
png_set_compression_level(png_ptr, compression);
@@ -1204,7 +1207,7 @@ bool QPngHandler::canRead() const
bool QPngHandler::canRead(QIODevice *device)
{
if (!device) {
- qWarning("QPngHandler::canRead() called with no device");
+ qCWarning(lcImageIo, "QPngHandler::canRead() called with no device");
return false;
}
diff --git a/src/gui/image/qppmhandler.cpp b/src/gui/image/qppmhandler.cpp
index eccd750f1d..71dbefe354 100644
--- a/src/gui/image/qppmhandler.cpp
+++ b/src/gui/image/qppmhandler.cpp
@@ -41,14 +41,19 @@
#ifndef QT_NO_IMAGEFORMAT_PPM
+#include <qdebug.h>
#include <qimage.h>
#include <qlist.h>
+#include <qloggingcategory.h>
+#include <qrgba64.h>
#include <qvariant.h>
+
#include <ctype.h>
-#include <qrgba64.h>
QT_BEGIN_NAMESPACE
+Q_DECLARE_LOGGING_CATEGORY(lcImageIo)
+
/*****************************************************************************
PBM/PGM/PPM (ASCII and RAW) image read/write functions
*****************************************************************************/
@@ -473,7 +478,7 @@ bool QPpmHandler::canRead() const
bool QPpmHandler::canRead(QIODevice *device, QByteArray *subType)
{
if (!device) {
- qWarning("QPpmHandler::canRead() called with no device");
+ qCWarning(lcImageIo, "QPpmHandler::canRead() called with no device");
return false;
}
diff --git a/src/gui/image/qxbmhandler.cpp b/src/gui/image/qxbmhandler.cpp
index 39f379520e..9c324aeeb9 100644
--- a/src/gui/image/qxbmhandler.cpp
+++ b/src/gui/image/qxbmhandler.cpp
@@ -44,6 +44,7 @@
#include <qimage.h>
#include <qiodevice.h>
+#include <qloggingcategory.h>
#include <qvariant.h>
#include <stdio.h>
@@ -51,6 +52,8 @@
QT_BEGIN_NAMESPACE
+Q_DECLARE_LOGGING_CATEGORY(lcImageIo)
+
/*****************************************************************************
X bitmap image read/write functions
*****************************************************************************/
@@ -293,7 +296,10 @@ bool QXbmHandler::canRead() const
bool QXbmHandler::canRead(QIODevice *device)
{
- QImage image;
+ if (!device) {
+ qCWarning(lcImageIo, "QXbmHandler::canRead() called with no device");
+ return false;
+ }
// it's impossible to tell whether we can load an XBM or not when
// it's from a sequential device, as the only way to do it is to
@@ -301,6 +307,7 @@ bool QXbmHandler::canRead(QIODevice *device)
if (device->isSequential())
return false;
+ QImage image;
qint64 oldPos = device->pos();
bool success = read_xbm_image(device, &image);
device->seek(oldPos);
diff --git a/src/gui/image/qxpmhandler.cpp b/src/gui/image/qxpmhandler.cpp
index 258ff318f5..7b545614a7 100644
--- a/src/gui/image/qxpmhandler.cpp
+++ b/src/gui/image/qxpmhandler.cpp
@@ -41,17 +41,22 @@
#ifndef QT_NO_IMAGEFORMAT_XPM
-#include <private/qcolor_p.h>
#include <qbytearraymatcher.h>
+#include <qdebug.h>
#include <qimage.h>
+#include <qloggingcategory.h>
#include <qmap.h>
#include <qtextstream.h>
#include <qvariant.h>
+#include <private/qcolor_p.h>
+
#include <algorithm>
QT_BEGIN_NAMESPACE
+Q_DECLARE_LOGGING_CATEGORY(lcImageIo)
+
static quint64 xpmHash(const QString &str)
{
unsigned int hashValue = 0;
@@ -892,7 +897,7 @@ static bool read_xpm_body(
for(currentColor=0; currentColor < ncols; ++currentColor) {
if (!read_xpm_string(buf, device, source, index, state)) {
- qWarning("QImage: XPM color specification missing");
+ qCWarning(lcImageIo, "XPM color specification missing");
return false;
}
QByteArray index;
@@ -907,7 +912,7 @@ static bool read_xpm_body(
if (i < 0)
i = tokens.indexOf("m");
if (i < 0) {
- qWarning("QImage: XPM color specification is missing: %s", buf.constData());
+ qCWarning(lcImageIo, "XPM color specification is missing: %s", buf.constData());
return false; // no c/g/g4/m specification at all
}
QByteArray color;
@@ -915,7 +920,7 @@ static bool read_xpm_body(
color.append(tokens.at(i));
}
if (color.isEmpty()) {
- qWarning("QImage: XPM color value is missing from specification: %s", buf.constData());
+ qCWarning(lcImageIo, "XPM color value is missing from specification: %s", buf.constData());
return false; // no color value
}
buf = color;
@@ -958,7 +963,7 @@ static bool read_xpm_body(
// Read pixels
for(int y=0; y<h; y++) {
if (!read_xpm_string(buf, device, source, index, state)) {
- qWarning("QImage: XPM pixels missing on image line %d", y);
+ qCWarning(lcImageIo, "XPM pixels missing on image line %d", y);
return false;
}
if (image.depth() == 8) {
@@ -984,7 +989,7 @@ static bool read_xpm_body(
}
// avoid uninitialized memory for malformed xpms
if (x < w) {
- qWarning("QImage: XPM pixels missing on image line %d (possibly a C++ trigraph).", y);
+ qCWarning(lcImageIo, "XPM pixels missing on image line %d (possibly a C++ trigraph).", y);
memset(p, 0, w - x);
}
} else {
@@ -1001,7 +1006,7 @@ static bool read_xpm_body(
}
// avoid uninitialized memory for malformed xpms
if (x < w) {
- qWarning("QImage: XPM pixels missing on image line %d (possibly a C++ trigraph).", y);
+ qCWarning(lcImageIo, "XPM pixels missing on image line %d (possibly a C++ trigraph).", y);
memset(p, 0, (w - x)*4);
}
}
@@ -1218,7 +1223,7 @@ bool QXpmHandler::canRead() const
bool QXpmHandler::canRead(QIODevice *device)
{
if (!device) {
- qWarning("QXpmHandler::canRead() called with no device");
+ qCWarning(lcImageIo, "QXpmHandler::canRead() called with no device");
return false;
}
diff --git a/src/plugins/imageformats/gif/qgifhandler.cpp b/src/plugins/imageformats/gif/qgifhandler.cpp
index 7ef0d076bb..2103f5f6fe 100644
--- a/src/plugins/imageformats/gif/qgifhandler.cpp
+++ b/src/plugins/imageformats/gif/qgifhandler.cpp
@@ -46,10 +46,13 @@
#include <qimage.h>
#include <qiodevice.h>
+#include <qloggingcategory.h>
#include <qvariant.h>
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(lcGif, "qt.gui.imageio.gif")
+
#define Q_TRANSPARENT 0x00ffffff
// avoid going through QImage::scanLine() which calls detach
@@ -1121,7 +1124,7 @@ bool QGifHandler::canRead() const
bool QGifHandler::canRead(QIODevice *device)
{
if (!device) {
- qWarning("QGifHandler::canRead() called with no device");
+ qCWarning(lcGif, "QGifHandler::canRead() called with no device");
return false;
}
diff --git a/src/plugins/imageformats/ico/qicohandler.cpp b/src/plugins/imageformats/ico/qicohandler.cpp
index 52e231e5a7..1b084e2eea 100644
--- a/src/plugins/imageformats/ico/qicohandler.cpp
+++ b/src/plugins/imageformats/ico/qicohandler.cpp
@@ -50,12 +50,15 @@
#include <QtCore/qendian.h>
#include <private/qendian_p.h>
#include <QtGui/QImage>
-#include <QtCore/QFile>
#include <QtCore/QBuffer>
+#include <QtCore/QFile>
+#include <QtCore/QLoggingCategory>
#include <qvariant.h>
QT_BEGIN_NAMESPACE
+Q_LOGGING_CATEGORY(lcIco, "qt.gui.imageio.ico")
+
// These next two structs represent how the icon information is stored
// in an ICO file.
typedef struct
@@ -771,7 +774,7 @@ bool QtIcoHandler::canRead() const
if (bCanRead)
setFormat("ico");
} else {
- qWarning("QtIcoHandler::canRead() called with no device");
+ qCWarning(lcIco, "QtIcoHandler::canRead() called with no device");
}
return bCanRead;
}
diff --git a/src/plugins/imageformats/jpeg/qjpeghandler.cpp b/src/plugins/imageformats/jpeg/qjpeghandler.cpp
index 72d932445e..29bf5ab589 100644
--- a/src/plugins/imageformats/jpeg/qjpeghandler.cpp
+++ b/src/plugins/imageformats/jpeg/qjpeghandler.cpp
@@ -45,6 +45,7 @@
#include <qdebug.h>
#include <qimage.h>
#include <qlist.h>
+#include <qloggingcategory.h>
#include <qmath.h>
#include <qvariant.h>
#include <private/qicc_p.h>
@@ -75,6 +76,9 @@ extern "C" {
}
QT_BEGIN_NAMESPACE
+
+Q_LOGGING_CATEGORY(lcJpeg, "qt.gui.imageio.jpeg")
+
QT_WARNING_DISABLE_GCC("-Wclobbered")
Q_GUI_EXPORT void QT_FASTCALL qt_convert_rgb888_to_rgb32(quint32 *dst, const uchar *src, int len);
@@ -91,7 +95,7 @@ static void my_error_exit (j_common_ptr cinfo)
my_error_mgr* myerr = (my_error_mgr*) cinfo->err;
char buffer[JMSG_LENGTH_MAX];
(*cinfo->err->format_message)(cinfo, buffer);
- qWarning("%s", buffer);
+ qCWarning(lcJpeg, "%s", buffer);
longjmp(myerr->setjmp_buffer, 1);
}
@@ -99,7 +103,7 @@ static void my_output_message(j_common_ptr cinfo)
{
char buffer[JMSG_LENGTH_MAX];
(*cinfo->err->format_message)(cinfo, buffer);
- qWarning("%s", buffer);
+ qCWarning(lcJpeg,"%s", buffer);
}
}
@@ -913,7 +917,7 @@ static QImageIOHandler::Transformations exif2Qt(int exifOrientation)
case 8: // rotate 270 CW
return QImageIOHandler::TransformationRotate270;
}
- qWarning("Invalid EXIF orientation");
+ qCWarning(lcJpeg, "Invalid EXIF orientation");
return QImageIOHandler::TransformationNone;
}
@@ -1071,7 +1075,7 @@ bool QJpegHandler::canRead() const
bool QJpegHandler::canRead(QIODevice *device)
{
if (!device) {
- qWarning("QJpegHandler::canRead() called with no device");
+ qCWarning(lcJpeg, "QJpegHandler::canRead() called with no device");
return false;
}
diff --git a/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp b/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp
index 984a7c7482..950ffdff6d 100644
--- a/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp
+++ b/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp
@@ -1462,10 +1462,10 @@ void tst_QImageReader::readFromResources_data()
<< QString("");
QTest::newRow("corrupt-colors.xpm") << QString("corrupt-colors.xpm")
<< QByteArray("xpm") << QSize(0, 0)
- << QString("QImage: XPM color specification is missing: bla9an.n#x");
+ << QString("XPM color specification is missing: bla9an.n#x");
QTest::newRow("corrupt-pixels.xpm") << QString("corrupt-pixels.xpm")
<< QByteArray("xpm") << QSize(0, 0)
- << QString("QImage: XPM pixels missing on image line 3");
+ << QString("XPM pixels missing on image line 3");
QTest::newRow("corrupt-pixel-count.xpm") << QString("corrupt-pixel-count.xpm")
<< QByteArray("xpm") << QSize(0, 0)
<< QString("");
@@ -1580,10 +1580,10 @@ void tst_QImageReader::readCorruptImage_data()
QTest::newRow("corrupt bmp") << QString("corrupt.bmp") << true << QString("") << QByteArray("bmp");
QTest::newRow("corrupt bmp (clut)") << QString("corrupt_clut.bmp") << true << QString("") << QByteArray("bmp");
QTest::newRow("corrupt xpm (colors)") << QString("corrupt-colors.xpm") << true
- << QString("QImage: XPM color specification is missing: bla9an.n#x")
+ << QString("XPM color specification is missing: bla9an.n#x")
<< QByteArray("xpm");
QTest::newRow("corrupt xpm (pixels)") << QString("corrupt-pixels.xpm") << true
- << QString("QImage: XPM pixels missing on image line 3")
+ << QString("XPM pixels missing on image line 3")
<< QByteArray("xpm");
QTest::newRow("corrupt xbm") << QString("corrupt.xbm") << false << QString("") << QByteArray("xbm");
QTest::newRow("corrupt svg") << QString("corrupt.svg") << true << QString("") << QByteArray("svg");