From 7fbc2286000dcc62518664701c12310a3910a8b1 Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Mon, 5 Jan 2009 14:56:59 +0100
Subject: [PATCH] Fixes:   Fix starting external programs

Details: Was broken due to duplicate but not synchronized internal pid data
---
 src/plugins/debugger/gdbengine.cpp | 8 ++++----
 src/plugins/debugger/gdbengine.h   | 1 -
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp
index f25cb748707..7c7d3b6d328 100644
--- a/src/plugins/debugger/gdbengine.cpp
+++ b/src/plugins/debugger/gdbengine.cpp
@@ -650,7 +650,7 @@ void GdbEngine::interruptInferior()
     if (m_gdbProc.state() == QProcess::NotRunning)
         return;
 
-    if (q->m_attachedPID) {
+    if (q->m_attachedPID > 0) {
         if (interruptProcess(q->m_attachedPID))
             qq->notifyInferiorStopped();
         return;
@@ -660,6 +660,7 @@ void GdbEngine::interruptInferior()
     sendCommand("-exec-interrupt", GdbExecInterrupt);
     qq->notifyInferiorStopped();
 #else
+    qDebug() << "CANNOT STOP INFERIOR" << m_gdbProc.pid();
     if (interruptChildProcess(m_gdbProc.pid()))
         qq->notifyInferiorStopped();
 #endif
@@ -672,9 +673,9 @@ void GdbEngine::maybeHandleInferiorPidChanged(const QString &pid0)
         qDebug() << "Cannot parse PID from " << pid0;
         return;
     }
-    if (pid == m_inferiorPid)
+    if (pid == q->m_attachedPID)
         return;
-    m_inferiorPid = pid;
+    q->m_attachedPID = pid;
     qq->notifyInferiorPidChanged(pid); 
 }
 
@@ -1514,7 +1515,6 @@ int GdbEngine::currentFrame() const
 
 bool GdbEngine::startDebugger()
 {
-    m_inferiorPid = 0;
     QStringList gdbArgs;
 
     QFileInfo fi(q->m_executable);
diff --git a/src/plugins/debugger/gdbengine.h b/src/plugins/debugger/gdbengine.h
index 434a110a454..c1344f86dda 100644
--- a/src/plugins/debugger/gdbengine.h
+++ b/src/plugins/debugger/gdbengine.h
@@ -330,7 +330,6 @@ private:
 
     QString m_editedData;
     int m_pendingRequests;
-    int m_inferiorPid;
 
     QStringList m_availableSimpleDumpers;
     QString m_namespace; // namespace used in "namespaced Qt";
-- 
GitLab