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. Change-Id: I51d16b1feddc5945955ac75a2e8701233dba7b82 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit f091026be1deb4b4a90f32585b9b22f97209866a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
2ab5df8847
commit
aa769d8d1c
@ -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…
x
Reference in New Issue
Block a user