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