diff options
author | Christiaan Janssen <christiaan.janssen@digia.com> | 2013-06-03 13:47:04 +0200 |
---|---|---|
committer | Kai Koehne <kai.koehne@digia.com> | 2013-06-04 12:06:53 +0200 |
commit | 25dd94808d0fee8ea3aa949d4d9ae17cac5ffd6c (patch) | |
tree | 01fbc1facedfd886ec559f903a7154542fbbee1e | |
parent | d97a7f4067c57154733646726c1969cc63588a50 (diff) |
QmlProfiler: fix dangling pointer in Engine
Task-number: QTCREATORBUG-9391
Change-Id: Ib2ea66bd5694046577a0b5a0e2f611f3ffba0238
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
-rw-r--r-- | src/plugins/qmlprofiler/qmlprofilerengine.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/qmlprofiler/qmlprofilerengine.cpp b/src/plugins/qmlprofiler/qmlprofilerengine.cpp index 6914286dc6..f5800869f4 100644 --- a/src/plugins/qmlprofiler/qmlprofilerengine.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerengine.cpp @@ -61,7 +61,7 @@ class QmlProfilerEngine::QmlProfilerEnginePrivate { public: QmlProfilerEnginePrivate(QmlProfilerEngine *qq) : q(qq), m_runner(0) {} - ~QmlProfilerEnginePrivate() { delete m_runner; } + ~QmlProfilerEnginePrivate() { m_runner->disconnect(); delete m_runner; } bool attach(const QString &address, uint port); static AbstractQmlProfilerRunner *createRunner(ProjectExplorer::RunConfiguration *runConfiguration, @@ -153,6 +153,7 @@ bool QmlProfilerEngine::start() QTC_ASSERT(d->m_profilerState, return false); if (d->m_runner) { + d->m_runner->disconnect(); delete d->m_runner; d->m_runner = 0; } @@ -364,6 +365,7 @@ void QmlProfilerEngine::profilerStateChanged() // (a new one will be created at start) d->m_noDebugOutputTimer.stop(); if (d->m_runner) { + d->m_runner->disconnect(); delete d->m_runner; d->m_runner = 0; } |