forked from qt-creator/qt-creator
QmlProfiler: Disable run controls after they are finished
Disabled runControls would still receive and send signals, confusing the profiler state. Also, connect lambdas with receiver argument where possible. Change-Id: I0cd43456d3462efe402e9d68792b67314e9b6e0b Task-number: QTCREATORBUG-16073 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
This commit is contained in:
@@ -101,7 +101,7 @@ QmlProfilerRunControl::QmlProfilerRunControl(RunConfiguration *runConfiguration,
|
|||||||
|
|
||||||
QmlProfilerRunControl::~QmlProfilerRunControl()
|
QmlProfilerRunControl::~QmlProfilerRunControl()
|
||||||
{
|
{
|
||||||
if (d->m_profilerState)
|
if (d->m_running && d->m_profilerState)
|
||||||
stop();
|
stop();
|
||||||
delete d;
|
delete d;
|
||||||
}
|
}
|
||||||
|
@@ -333,12 +333,13 @@ AnalyzerRunControl *QmlProfilerTool::createRunControl(RunConfiguration *runConfi
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto runControl = new QmlProfilerRunControl(runConfiguration, this);
|
auto runControl = new QmlProfilerRunControl(runConfiguration, this);
|
||||||
connect(runControl, &RunControl::finished, [this, runControl] {
|
connect(runControl, &RunControl::finished, this, [this, runControl] {
|
||||||
d->m_toolBusy = false;
|
d->m_toolBusy = false;
|
||||||
updateRunActions();
|
updateRunActions();
|
||||||
|
disconnect(d->m_stopAction, &QAction::triggered, runControl, &QmlProfilerRunControl::stop);
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(d->m_stopAction, &QAction::triggered, runControl, [runControl] { runControl->stop(); });
|
connect(d->m_stopAction, &QAction::triggered, runControl, &QmlProfilerRunControl::stop);
|
||||||
|
|
||||||
updateRunActions();
|
updateRunActions();
|
||||||
return runControl;
|
return runControl;
|
||||||
|
Reference in New Issue
Block a user