diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2018-02-02 13:24:44 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2018-02-02 15:01:38 +0000 |
commit | fb84bcb4871d28104f70416c8a97ebb738d62263 (patch) | |
tree | 321f82f907d7f3355931968177b19eb98f8b8a1a /tools | |
parent | 6958308c09ceda855a30c5a2d491f078c5104071 (diff) |
qmlprofiler tool: In attach mode, finish when connection drops
We won't have a process that terminates in this case and we don't want
to wait forever.
Task-number: QTBUG-66159
Change-Id: I5d0bbe2f8bc9c7cbc8732272ccca779d5f9bcc7d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qmlprofiler/qmlprofilerapplication.cpp | 18 | ||||
-rw-r--r-- | tools/qmlprofiler/qmlprofilerapplication.h | 1 |
2 files changed, 19 insertions, 0 deletions
diff --git a/tools/qmlprofiler/qmlprofilerapplication.cpp b/tools/qmlprofiler/qmlprofilerapplication.cpp index 033492b516..33be8722c0 100644 --- a/tools/qmlprofiler/qmlprofilerapplication.cpp +++ b/tools/qmlprofiler/qmlprofilerapplication.cpp @@ -91,6 +91,8 @@ QmlProfilerApplication::QmlProfilerApplication(int &argc, char **argv) : connect(&m_connection, &QQmlDebugConnection::connected, this, &QmlProfilerApplication::connected); + connect(&m_connection, &QQmlDebugConnection::disconnected, + this, &QmlProfilerApplication::disconnected); connect(&m_qmlProfilerClient, &QmlProfilerClient::enabledChanged, this, &QmlProfilerApplication::traceClientEnabledChanged); @@ -512,6 +514,22 @@ void QmlProfilerApplication::connected() .arg(endpoint).arg(m_recording ? tr("on") : tr("off"))); } +void QmlProfilerApplication::disconnected() +{ + if (m_runMode == AttachMode) { + int exitCode = 0; + if (m_recording) { + logError("Connection dropped while recording, last trace is damaged!"); + exitCode = 2; + } + + if (!m_interactive ) + exit(exitCode); + else + m_qmlProfilerClient.clearPendingData(); + } +} + void QmlProfilerApplication::processHasOutput() { Q_ASSERT(m_process); diff --git a/tools/qmlprofiler/qmlprofilerapplication.h b/tools/qmlprofiler/qmlprofilerapplication.h index 13f0f041f0..4946622902 100644 --- a/tools/qmlprofiler/qmlprofilerapplication.h +++ b/tools/qmlprofiler/qmlprofilerapplication.h @@ -69,6 +69,7 @@ private: void run(); void tryToConnect(); void connected(); + void disconnected(); void processHasOutput(); void processFinished(); |