Fix deletion order in QImageReader/Writer destructors
The device would be deleted before the image format handler, and hence be a dangling pointer that could easily cause a crash if the handler or codec would access it on destruction, e.g. for cleanup. Pick-to: 6.5 6.4 6.2 5.15 Change-Id: I51d16b1feddc5945955ac75a2e8701233dba7b82 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>bb10
parent
df62cefdcb
commit
f091026be1
|
|
@ -484,9 +484,9 @@ QImageReaderPrivate::QImageReaderPrivate(QImageReader *qq)
|
|||
*/
|
||||
QImageReaderPrivate::~QImageReaderPrivate()
|
||||
{
|
||||
delete handler;
|
||||
if (deleteDevice)
|
||||
delete device;
|
||||
delete handler;
|
||||
}
|
||||
|
||||
/*!
|
||||
|
|
|
|||
|
|
@ -315,9 +315,9 @@ QImageWriter::QImageWriter(const QString &fileName, const QByteArray &format)
|
|||
*/
|
||||
QImageWriter::~QImageWriter()
|
||||
{
|
||||
delete d->handler;
|
||||
if (d->deleteDevice)
|
||||
delete d->device;
|
||||
delete d->handler;
|
||||
delete d;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue