From 4c65bac230cf30c75f844ae9af1b9298d7afa31d Mon Sep 17 00:00:00 2001 From: Christian Kandeler <christian.kandeler@nokia.com> Date: Thu, 21 Apr 2011 09:38:58 +0200 Subject: [PATCH] Maemo: Make QML debugging engine aware of early inferior exit. --- .../qt-maemo/maemodebugsupport.cpp | 31 ++++++++++--------- .../qt-maemo/maemodebugsupport.h | 2 +- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp index fcabd241769..a5c62da9b3a 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp @@ -295,31 +295,32 @@ void MaemoDebugSupport::startDebugging() .arg(m_qmlPort); } - QString remoteCommandLine; - if (m_debuggingType == MaemoRunConfiguration::DebugQmlOnly) { - remoteCommandLine = QString::fromLocal8Bit("%1 %2 %3 %4") - .arg(cmdPrefix).arg(env).arg(remoteExe).arg(args); - } else { - remoteCommandLine = QString::fromLocal8Bit("%1 %2 gdbserver :%3 %4 %5") + const QString remoteCommandLine = m_debuggingType == MaemoRunConfiguration::DebugQmlOnly + ? QString::fromLocal8Bit("%1 %2 %3 %4").arg(cmdPrefix).arg(env) + .arg(remoteExe).arg(args) + : QString::fromLocal8Bit("%1 %2 gdbserver :%3 %4 %5") .arg(cmdPrefix).arg(env).arg(m_gdbServerPort) .arg(remoteExe).arg(args); - connect(m_runner, SIGNAL(remoteProcessFinished(qint64)), - SLOT(handleGdbServerFinished(qint64))); - } - + connect(m_runner, SIGNAL(remoteProcessFinished(qint64)), + SLOT(handleRemoteProcessFinished(qint64))); m_runner->startExecution(remoteCommandLine.toUtf8()); } } -void MaemoDebugSupport::handleGdbServerFinished(qint64 exitCode) +void MaemoDebugSupport::handleRemoteProcessFinished(qint64 exitCode) { if (!m_engine || m_state == Inactive || exitCode == 0) return; - if (m_state == Debugging) - m_engine->notifyInferiorIll(); - else - m_engine->handleRemoteSetupFailed(tr("The gdbserver process closed unexpectedly.")); + if (m_state == Debugging) { + if (m_debuggingType != MaemoRunConfiguration::DebugQmlOnly) + m_engine->notifyInferiorIll(); + } else { + const QString errorMsg = m_debuggingType == MaemoRunConfiguration::DebugQmlOnly + ? tr("Remote application failed with exit code %1.").arg(exitCode) + : tr("The gdbserver process closed unexpectedly."); + m_engine->handleRemoteSetupFailed(errorMsg); + } } void MaemoDebugSupport::handleDebuggingFinished() diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.h b/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.h index 176b890c4c2..675487e695f 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.h @@ -80,7 +80,7 @@ private slots: void handleRemoteErrorOutput(const QByteArray &output); void handleProgressReport(const QString &progressOutput); void handleRemoteProcessStarted(); - void handleGdbServerFinished(qint64 exitCode); + void handleRemoteProcessFinished(qint64 exitCode); private: enum State { -- GitLab