diff options
author | Sergey Dubitskiy <sergey.dubitskiy@nokia.com> | 2012-02-17 13:28:24 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-29 09:19:35 +0100 |
commit | b0b397d4659477494dc11a83766ebc8b34dd1b62 (patch) | |
tree | 1c3b0909c84725730dc33ae86f44415203087c0e | |
parent | d9b6e7daa20c4d3d7f147713ff8c251cc6b4b69a (diff) | |
download | qt3d-b0b397d4659477494dc11a83766ebc8b34dd1b62.tar.gz |
Resource handling needs refactoring.
Some minor memory leaks were fixed.
Task-number: QTBUG-24043
Change-Id: I792874911e68f4e6549184dbaebb8397f676c3f8
Reviewed-by: Danny Pope <daniel.pope@nokia.com>
Reviewed-by: Sarah Jane Smith <sarah.j.smith@nokia.com>
-rw-r--r-- | src/quick3d/qdeclarativeeffect.cpp | 2 | ||||
-rw-r--r-- | src/threed/materials/qglmaterial.cpp | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/quick3d/qdeclarativeeffect.cpp b/src/quick3d/qdeclarativeeffect.cpp index 8c2231cc6..7266f3c5d 100644 --- a/src/quick3d/qdeclarativeeffect.cpp +++ b/src/quick3d/qdeclarativeeffect.cpp @@ -320,7 +320,7 @@ void QDeclarativeEffect::setTextureImage(const QImage& value) if (!material()->texture()) { // Should this texture be parented? - tex = new QGLTexture2D(); + tex = new QGLTexture2D(material()); material()->setTexture(tex); } else { diff --git a/src/threed/materials/qglmaterial.cpp b/src/threed/materials/qglmaterial.cpp index 829fc1a52..acc9e9b29 100644 --- a/src/threed/materials/qglmaterial.cpp +++ b/src/threed/materials/qglmaterial.cpp @@ -306,6 +306,8 @@ void QGLMaterial::setTexture(QGLTexture2D *value, int layer) Q_D(QGLMaterial); QGLTexture2D *prev = d->textures.value(layer, 0); if (prev != value) { + if (prev) + prev->cleanupResources(); delete prev; d->textures[layer] = value; emit texturesChanged(); |