fix gdb shutdown logic on gdb crash

Reviewed-by: hjk
This commit is contained in:
Oswald Buddenhagen
2009-06-12 17:34:34 +02:00
parent aa898a5312
commit 199dfbb485

View File

@@ -205,14 +205,17 @@ void GdbEngine::initializeVariables()
void GdbEngine::gdbProcError(QProcess::ProcessError error)
{
QString msg;
bool kill = true;
switch (error) {
case QProcess::FailedToStart:
kill = false;
msg = tr("The Gdb process failed to start. Either the "
"invoked program '%1' is missing, or you may have insufficient "
"permissions to invoke the program.")
.arg(theDebuggerStringSetting(GdbLocation));
break;
case QProcess::Crashed:
kill = false;
msg = tr("The Gdb process crashed some time after starting "
"successfully.");
break;
@@ -238,7 +241,8 @@ void GdbEngine::gdbProcError(QProcess::ProcessError error)
q->showStatusMessage(msg);
QMessageBox::critical(q->mainWindow(), tr("Error"), msg);
// act as if it was closed by the core
q->exitDebugger();
if (kill)
q->exitDebugger();
}
void GdbEngine::uploadProcError(QProcess::ProcessError error)