diff --git a/src/plugins/qmlprofiler/localqmlprofilerrunner.cpp b/src/plugins/qmlprofiler/localqmlprofilerrunner.cpp index d6b3dccf970..a7883f506c8 100644 --- a/src/plugins/qmlprofiler/localqmlprofilerrunner.cpp +++ b/src/plugins/qmlprofiler/localqmlprofilerrunner.cpp @@ -41,6 +41,11 @@ LocalQmlProfilerRunner::LocalQmlProfilerRunner(const Configuration &configuratio this, SIGNAL(appendMessage(QString,Utils::OutputFormat))); } +LocalQmlProfilerRunner::~LocalQmlProfilerRunner() +{ + disconnect(); +} + void LocalQmlProfilerRunner::start() { QString arguments = QString::fromLatin1("-qmljsdebugger=port:%1,block").arg(m_configuration.port); diff --git a/src/plugins/qmlprofiler/localqmlprofilerrunner.h b/src/plugins/qmlprofiler/localqmlprofilerrunner.h index 042df146252..26a9b451618 100644 --- a/src/plugins/qmlprofiler/localqmlprofilerrunner.h +++ b/src/plugins/qmlprofiler/localqmlprofilerrunner.h @@ -52,6 +52,7 @@ public: }; explicit LocalQmlProfilerRunner(const Configuration &configuration, QObject *parent = 0); + ~LocalQmlProfilerRunner(); // AbstractQmlProfilerRunner virtual void start(); diff --git a/src/plugins/qmlprofiler/qmlprofilerengine.cpp b/src/plugins/qmlprofiler/qmlprofilerengine.cpp index f5800869f43..6914286dc66 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() { m_runner->disconnect(); delete m_runner; } + ~QmlProfilerEnginePrivate() { delete m_runner; } bool attach(const QString &address, uint port); static AbstractQmlProfilerRunner *createRunner(ProjectExplorer::RunConfiguration *runConfiguration, @@ -153,7 +153,6 @@ 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; } @@ -365,7 +364,6 @@ 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; }