aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjian liang <jianliang79@gmail.com>2015-02-22 12:27:05 +0800
committerjian liang <jianliang79@gmail.com>2015-02-24 23:52:36 +0000
commit06ff96d49159274aa47584db58c5451f28f1cb36 (patch)
tree88166fa9cc3c894cca36dba4a6a1475fe4288607
parent20d160d0513a04be187ed851a25b029f47c27b27 (diff)
Fix memory leak of QSGContext object in QSGThreadedRenderLoop
Add destructor for QSGThreadedRenderLoop to destory QSGContext object. Change-Id: I479947eb35a5d7888d45655a9b8e2ece5e30bc33 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
-rw-r--r--src/quick/scenegraph/qsgthreadedrenderloop.cpp5
-rw-r--r--src/quick/scenegraph/qsgthreadedrenderloop_p.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
index 155b52b31a..561ebff8dd 100644
--- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp
+++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
@@ -703,6 +703,11 @@ QSGThreadedRenderLoop::QSGThreadedRenderLoop()
m_animation_driver->install();
}
+QSGThreadedRenderLoop::~QSGThreadedRenderLoop()
+{
+ delete sg;
+}
+
QSGRenderContext *QSGThreadedRenderLoop::createRenderContext(QSGContext *sg) const
{
return sg->createRenderContext();
diff --git a/src/quick/scenegraph/qsgthreadedrenderloop_p.h b/src/quick/scenegraph/qsgthreadedrenderloop_p.h
index 82f314a6af..1039807acb 100644
--- a/src/quick/scenegraph/qsgthreadedrenderloop_p.h
+++ b/src/quick/scenegraph/qsgthreadedrenderloop_p.h
@@ -49,6 +49,7 @@ class QSGThreadedRenderLoop : public QSGRenderLoop
Q_OBJECT
public:
QSGThreadedRenderLoop();
+ ~QSGThreadedRenderLoop();
void show(QQuickWindow *) {}
void hide(QQuickWindow *);