summaryrefslogtreecommitdiffstats
path: root/src/core/aspects
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2014-11-16 13:52:31 +0000
committerSean Harmer <sean.harmer@kdab.com>2014-11-17 18:35:44 +0100
commita5075aa3367aeaa175aa1cc60a39096b7674c142 (patch)
tree9b68419ee350e0062a1b5f04dc7b8db2415ffb3c /src/core/aspects
parent153f3a834a8e321507db989bed09069c8601f57d (diff)
Shutdown the aspect engine before destruction
This solves the crash when deleting an aspect engine with a root entity. Change-Id: I90cdf04d23e9942e8c764f29c92a76de90debc25 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/core/aspects')
-rw-r--r--src/core/aspects/qaspectengine.cpp5
-rw-r--r--src/core/aspects/qaspectengine.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/core/aspects/qaspectengine.cpp b/src/core/aspects/qaspectengine.cpp
index 80533b037..c5574ff39 100644
--- a/src/core/aspects/qaspectengine.cpp
+++ b/src/core/aspects/qaspectengine.cpp
@@ -94,6 +94,11 @@ QAspectEngine::QAspectEngine(QAspectEnginePrivate &dd, QObject *parent)
d->m_aspectThread->waitForStart(QThread::HighestPriority);
}
+QAspectEngine::~QAspectEngine()
+{
+ shutdown();
+}
+
void QAspectEngine::initNodeTree(QNode *node) const
{
Q_D(const QAspectEngine);
diff --git a/src/core/aspects/qaspectengine.h b/src/core/aspects/qaspectengine.h
index 2f2130d3f..d4fdffd77 100644
--- a/src/core/aspects/qaspectengine.h
+++ b/src/core/aspects/qaspectengine.h
@@ -63,6 +63,7 @@ class QT3DCORESHARED_EXPORT QAspectEngine : public QObject
Q_OBJECT
public:
explicit QAspectEngine(QObject *parent = 0);
+ ~QAspectEngine();
void initialize();
void shutdown();