OSDN Git Service

re-initialize handler on format change
authorIvailo Monev <xakepa10@gmail.com>
Wed, 4 Aug 2021 15:56:03 +0000 (18:56 +0300)
committerIvailo Monev <xakepa10@gmail.com>
Wed, 4 Aug 2021 15:56:03 +0000 (18:56 +0300)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
src/gui/image/qimagereader.cpp

index 040dba2..4174e87 100644 (file)
@@ -387,6 +387,8 @@ QImageReader::~QImageReader()
 */
 void QImageReader::setFormat(const QByteArray &format)
 {
+    delete d->handler;
+    d->handler = Q_NULLPTR;
     d->format = format;
 }
 
@@ -490,7 +492,7 @@ void QImageReader::setDevice(QIODevice *device)
     d->device = device;
     d->deleteDevice = false;
     delete d->handler;
-    d->handler = 0;
+    d->handler = Q_NULLPTR;
 }
 
 /*!
@@ -801,7 +803,7 @@ bool QImageReader::read(QImage *image)
         return false;
     }
 
-    if (!d->handler && !d->initHandler())
+    if (!d->initHandler())
         return false;
 
     // set the handler specific options.