Commit 4c65bac2 authored by Christian Kandeler's avatar Christian Kandeler

Maemo: Make QML debugging engine aware of early inferior exit.

parent 92cc93db
......@@ -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()
......
......@@ -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 {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment