From 492242776963d2a7b64651edfc7c0d4cfe76fa74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Tue, 23 Jun 2009 13:09:50 +0000 Subject: [PATCH] Implement killing the debugged team on quitting a TeamDebugger, the obviuos way... thanks Ingo! Seems to work just fine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31204 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/debugger/TeamDebugger.cpp | 12 ++++++------ src/apps/debugger/TeamDebugger.h | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/apps/debugger/TeamDebugger.cpp b/src/apps/debugger/TeamDebugger.cpp index dc6b7e09f0..c51edce97f 100644 --- a/src/apps/debugger/TeamDebugger.cpp +++ b/src/apps/debugger/TeamDebugger.cpp @@ -36,7 +36,8 @@ TeamDebugger::TeamDebugger() fWorker(NULL), fDebugEventListener(-1), fTeamWindow(NULL), - fTerminating(false) + fTerminating(false), + fKillTeamOnQuit(false) { } @@ -55,6 +56,9 @@ TeamDebugger::~TeamDebugger() if (fDebugEventListener >= 0) wait_for_thread(fDebugEventListener, NULL); + if (fKillTeamOnQuit && fTeam != NULL) + kill_team(fTeam->ID()); + delete fDebuggerInterface; delete fWorker; delete fDebugModel; @@ -345,11 +349,7 @@ TeamDebugger::TeamWindowQuitRequested(TeamWindow* window) switch (alert->Go()) { case 0: - // TODO: Implement killing the team. - alert = new BAlert("TODO", "That is not nice and I won't do it " - "either! Test failed. Nice to know how you think about these " - "matters.", "Ugh!"); - alert->Go(); + fKillTeamOnQuit = true; break; case 1: return false; diff --git a/src/apps/debugger/TeamDebugger.h b/src/apps/debugger/TeamDebugger.h index c85d9b4e99..3492ac3459 100644 --- a/src/apps/debugger/TeamDebugger.h +++ b/src/apps/debugger/TeamDebugger.h @@ -124,6 +124,7 @@ private: thread_id fDebugEventListener; TeamWindow* fTeamWindow; volatile bool fTerminating; + bool fKillTeamOnQuit; }; #endif // TEAM_DEBUGGER_H