summaryrefslogtreecommitdiff
path: root/src/plugins/android/androidrunner.cpp
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-01-16 16:42:56 +0100
committerOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-01-16 16:46:03 +0100
commit65c169c80ee14d98a220c5d665f8e86b2630ec71 (patch)
treee8b5f3754d978044d4986541a695d54458af91c2 /src/plugins/android/androidrunner.cpp
parent72e3605a01394fe2f67ea159f757a4d5a1c3ab90 (diff)
parent6ec9dd10a5d8e232687c850b83d89c1746dc34e5 (diff)
downloadqt-creator-65c169c80ee14d98a220c5d665f8e86b2630ec71.tar.gz
Merge remote-tracking branch 'origin/2.6'
Conflicts: qtcreator.pri qtcreator.qbs src/plugins/android/androidrunner.cpp src/plugins/projectexplorer/kitmanager.cpp Change-Id: I653ddaef6e341818fc74aacfe30e89c07f40a8c6
Diffstat (limited to 'src/plugins/android/androidrunner.cpp')
-rw-r--r--src/plugins/android/androidrunner.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/plugins/android/androidrunner.cpp b/src/plugins/android/androidrunner.cpp
index cbf6c35787..0df3536f6f 100644
--- a/src/plugins/android/androidrunner.cpp
+++ b/src/plugins/android/androidrunner.cpp
@@ -68,7 +68,7 @@ AndroidRunner::AndroidRunner(QObject *parent, AndroidRunConfiguration *runConfig
AndroidRunner::~AndroidRunner()
{
- stop();
+ stop(false);
}
void AndroidRunner::checkPID()
@@ -248,7 +248,7 @@ void AndroidRunner::startLogcat()
emit remoteProcessStarted(5039);
}
-void AndroidRunner::stop()
+void AndroidRunner::stop(bool async)
{
QMutexLocker locker(&m_mutex);
m_adbLogcatProcess.kill();
@@ -256,6 +256,14 @@ void AndroidRunner::stop()
m_checkPIDTimer.stop();
if (m_processPID == -1)
return; // don't emit another signal
+ if (async)
+ QtConcurrent::run(this, &AndroidRunner::asyncStop);
+ else
+ asyncStop();
+}
+
+void AndroidRunner::asyncStop()
+{
killPID();
emit remoteProcessFinished(tr("\n\n'%1' killed.").arg(m_packageName));
}