summaryrefslogtreecommitdiff
path: root/src/plugins/imageformats/tga/qtgafile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/imageformats/tga/qtgafile.cpp')
-rw-r--r--src/plugins/imageformats/tga/qtgafile.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/imageformats/tga/qtgafile.cpp b/src/plugins/imageformats/tga/qtgafile.cpp
index 5d086c6..25caa14 100644
--- a/src/plugins/imageformats/tga/qtgafile.cpp
+++ b/src/plugins/imageformats/tga/qtgafile.cpp
@@ -42,6 +42,7 @@
#include <QtCore/QIODevice>
#include <QtCore/QDebug>
#include <QtCore/QDateTime>
+#include <QtGui/QImageIOHandler>
struct TgaReader
{
@@ -238,8 +239,8 @@ QImage QTgaFile::readImage()
//unsigned char xCorner = desc & 0x10; // 0 = left, 1 = right
unsigned char yCorner = desc & 0x20; // 0 = lower, 1 = upper
- QImage im(imageWidth, imageHeight, QImage::Format_ARGB32);
- if (im.isNull())
+ QImage im;
+ if (!QImageIOHandler::allocateImage(QSize(imageWidth, imageHeight), QImage::Format_ARGB32, &im))
return QImage();
TgaReader *reader = 0;
if (bitsPerPixel == 16)
@@ -248,6 +249,8 @@ QImage QTgaFile::readImage()
reader = new Tga24Reader();
else if (bitsPerPixel == 32)
reader = new Tga32Reader();
+ else
+ return QImage();
TgaReader &read = *reader;
// For now only deal with yCorner, since no one uses xCorner == 1