diff options
author | Sergey Dubitskiy <sergey.dubitskiy@nokia.com> | 2012-02-10 15:20:16 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-12 02:41:24 +0100 |
commit | 2c29c501e5ee2aeab9371f7923c888fb6658e5ef (patch) | |
tree | 95c4a88d816d5c8e76e6ff3eb94225192a2c4897 /examples/qt3d | |
parent | ce825d290887afab95731b7bcb48256ba211ebd3 (diff) |
Task: Resource handling needs refactoring.
Phase One:
1.
fixed lots of memory leaks related to Texture2D's not being deleted.
2.
Texture2D now prints warning in destructor,
if cleanupResources() was not properly called before.
Task-number: QTBUG-24043
Change-Id: Ia6a8bbe38ad66778a38705e0a4464f24373d8846
Reviewed-by: Danny Pope <daniel.pope@nokia.com>
Diffstat (limited to 'examples/qt3d')
-rw-r--r-- | examples/qt3d/geometry/geometry.cpp | 2 | ||||
-rw-r--r-- | examples/qt3d/geometry/geometry.h | 2 | ||||
-rw-r--r-- | examples/qt3d/geometry/geometryview.cpp | 2 | ||||
-rw-r--r-- | examples/qt3d/tank/tankview.cpp | 2 |
4 files changed, 4 insertions, 4 deletions
diff --git a/examples/qt3d/geometry/geometry.cpp b/examples/qt3d/geometry/geometry.cpp index 93802820e..f1f89760d 100644 --- a/examples/qt3d/geometry/geometry.cpp +++ b/examples/qt3d/geometry/geometry.cpp @@ -50,7 +50,7 @@ // http://en.wikipedia.org/wiki/Icosahedron#Cartesian_coordinates const float phi = 1.618033988749894848f; -Geometry::Geometry(QObject *parent, QGLMaterialCollection *materials) +Geometry::Geometry(QObject *parent, QSharedPointer<QGLMaterialCollection> materials) : QGLSceneNode(parent) { setPalette(materials); diff --git a/examples/qt3d/geometry/geometry.h b/examples/qt3d/geometry/geometry.h index 0fa73d929..8504c0254 100644 --- a/examples/qt3d/geometry/geometry.h +++ b/examples/qt3d/geometry/geometry.h @@ -52,7 +52,7 @@ QT_END_NAMESPACE class Geometry : public QGLSceneNode { public: - Geometry(QObject *parent = 0, QGLMaterialCollection *materials = 0); + Geometry(QObject *parent, QSharedPointer<QGLMaterialCollection> materials); }; #endif // GEOMETRY_H diff --git a/examples/qt3d/geometry/geometryview.cpp b/examples/qt3d/geometry/geometryview.cpp index 38e50e893..c30e1a2e1 100644 --- a/examples/qt3d/geometry/geometryview.cpp +++ b/examples/qt3d/geometry/geometryview.cpp @@ -65,7 +65,7 @@ GeometryView::GeometryView(QWindow *parent) lp->setSpotExponent(24); lp->setSpotDirection(QVector3D(0.0, -1.0, -2.0)); - palette = new QGLMaterialCollection(this); + QSharedPointer<QGLMaterialCollection> palette(new QGLMaterialCollection()); // first set up the geometry - an icosahedron // this one handles all its own colors and textures diff --git a/examples/qt3d/tank/tankview.cpp b/examples/qt3d/tank/tankview.cpp index f27857691..02d462144 100644 --- a/examples/qt3d/tank/tankview.cpp +++ b/examples/qt3d/tank/tankview.cpp @@ -54,7 +54,7 @@ TankView::TankView(QWindow *parent) , m_count(0) { m_tankScene->setParent(this); - m_tankScene->setPalette(new QGLMaterialCollection(this)); + m_tankScene->setPalette(QSharedPointer<QGLMaterialCollection>(new QGLMaterialCollection(this))); m_tankScene->setEffect(QGL::LitDecalTexture2D); m_tankScene->addNode(new QuadPlane(0, QSizeF(25, 25))); Tank *tank = addTank(); |