diff options
author | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2018-02-26 13:13:08 +0100 |
---|---|---|
committer | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2018-02-27 08:50:34 +0000 |
commit | 4c957192ac7edae80b468765ed68ab8dccd8d3ab (patch) | |
tree | 0546be7e8973c34c085d3a5a8bd12c14eb19b855 /src/quick | |
parent | e17c89f4ce74e5699ed50dc2187a39d8990316c4 (diff) |
Fix memory leak in compressed texture file reading
The format handler object would never be deleted.
Change-Id: I44e0740f8ab0404ebb2951865bfedc5a4c8227f3
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Diffstat (limited to 'src/quick')
-rw-r--r-- | src/quick/scenegraph/compressedtexture/qsgtexturefilehandler_p.h | 1 | ||||
-rw-r--r-- | src/quick/scenegraph/util/qsgtexturereader.cpp | 5 | ||||
-rw-r--r-- | src/quick/scenegraph/util/qsgtexturereader_p.h | 1 |
3 files changed, 7 insertions, 0 deletions
diff --git a/src/quick/scenegraph/compressedtexture/qsgtexturefilehandler_p.h b/src/quick/scenegraph/compressedtexture/qsgtexturefilehandler_p.h index 43358b2846..8b831aebb9 100644 --- a/src/quick/scenegraph/compressedtexture/qsgtexturefilehandler_p.h +++ b/src/quick/scenegraph/compressedtexture/qsgtexturefilehandler_p.h @@ -67,6 +67,7 @@ public: { m_logName = !logName.isEmpty() ? logName : QByteArrayLiteral("(unknown)"); } + virtual ~QSGTextureFileHandler() {} virtual QQuickTextureFactory *read() = 0; QIODevice *device() const { return m_device; } diff --git a/src/quick/scenegraph/util/qsgtexturereader.cpp b/src/quick/scenegraph/util/qsgtexturereader.cpp index eb0caa59e4..8af2c8e7cd 100644 --- a/src/quick/scenegraph/util/qsgtexturereader.cpp +++ b/src/quick/scenegraph/util/qsgtexturereader.cpp @@ -55,6 +55,11 @@ QSGTextureReader::QSGTextureReader(QIODevice *device, const QString &fileName) { } +QSGTextureReader::~QSGTextureReader() +{ + delete m_handler; +} + QQuickTextureFactory *QSGTextureReader::read() { #if QT_CONFIG(opengl) diff --git a/src/quick/scenegraph/util/qsgtexturereader_p.h b/src/quick/scenegraph/util/qsgtexturereader_p.h index 1d874f840c..19e33bf5c3 100644 --- a/src/quick/scenegraph/util/qsgtexturereader_p.h +++ b/src/quick/scenegraph/util/qsgtexturereader_p.h @@ -64,6 +64,7 @@ class QSGTextureReader { public: QSGTextureReader(QIODevice *device, const QString &fileName = QString()); + ~QSGTextureReader(); QQuickTextureFactory *read(); bool isTexture(); |