diff options
author | Gunnar Sletta <gunnar.sletta@nokia.com> | 2011-11-14 15:11:45 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-14 16:39:25 +0100 |
commit | 885d3cfd658d2003cea5cdc8b7c347748ce030dd (patch) | |
tree | 4b9ebc049587a7c4be45f0e58fc09934e7ed4c06 /src/declarative/items/qquickcanvas.cpp | |
parent | ace4b5881c6074b6e525281e0daa3a4740203b15 (diff) |
Fixed assert during QML shutdown
Change-Id: I680af9ccb417d3162277b5740a129ecd77feee7f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/declarative/items/qquickcanvas.cpp')
-rw-r--r-- | src/declarative/items/qquickcanvas.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/declarative/items/qquickcanvas.cpp b/src/declarative/items/qquickcanvas.cpp index dfdaaed22d..d5003e9321 100644 --- a/src/declarative/items/qquickcanvas.cpp +++ b/src/declarative/items/qquickcanvas.cpp @@ -864,6 +864,12 @@ QQuickCanvas::~QQuickCanvas() { Q_D(QQuickCanvas); + /* The threaded renderer will clean up the nodes which will fire + sceneGraphChanged events through back to the canvas. This signal + is connected to maybeUpdate which should only be called from GUI or during + updatePaintNode(), so disconnect them before starting the shutdown + */ + disconnect(d->context->renderer(), SIGNAL(sceneGraphChanged()), this, SLOT(maybeUpdate())); if (d->thread->isRunning()) { d->thread->stopRendering(); delete d->thread; |