[haiku-commits] haiku: hrev45549 - src/apps/debugger/controllers

  • From: anevilyak@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 24 Apr 2013 05:06:54 +0200 (CEST)

hrev45549 adds 1 changeset to branch 'master'
old head: 8b49cb7645fd49a9c599439889d83ec0ef356d03
new head: dd817ff93cd2a76942d942b826ea9ecae8c79d0d
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=dd817ff+%5E8b49cb7

----------------------------------------------------------------------------

dd817ff: Handle team deletion debug event.
  
  When the target team exits, notify the user and shut down the debugger.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev45549
Commit:      dd817ff93cd2a76942d942b826ea9ecae8c79d0d
URL:         http://cgit.haiku-os.org/haiku/commit/?id=dd817ff
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Wed Apr 24 03:05:36 2013 UTC

----------------------------------------------------------------------------

2 files changed, 21 insertions(+), 1 deletion(-)
src/apps/debugger/controllers/TeamDebugger.cpp | 20 +++++++++++++++++++-
src/apps/debugger/controllers/TeamDebugger.h   |  2 ++

----------------------------------------------------------------------------

diff --git a/src/apps/debugger/controllers/TeamDebugger.cpp 
b/src/apps/debugger/controllers/TeamDebugger.cpp
index 433e8ef..25d66d5 100644
--- a/src/apps/debugger/controllers/TeamDebugger.cpp
+++ b/src/apps/debugger/controllers/TeamDebugger.cpp
@@ -1145,10 +1145,14 @@ TeamDebugger::_HandleDebuggerMessage(DebugEvent* event)
 //printf("B_DEBUGGER_MESSAGE_TEAM_CREATED: team: %ld\n", 
message.team_created.new_team);
 //                     break;
                case B_DEBUGGER_MESSAGE_TEAM_DELETED:
-                       // TODO: Handle!
+               {
                        TRACE_EVENTS("B_DEBUGGER_MESSAGE_TEAM_DELETED: team: %" 
B_PRId32
                                "\n", event->Team());
+                       TeamDeletedEvent* teamEvent
+                               = dynamic_cast<TeamDeletedEvent*>(event);
+                       handled = _HandleTeamDeleted(teamEvent);
                        break;
+               }
                case B_DEBUGGER_MESSAGE_TEAM_EXEC:
                        TRACE_EVENTS("B_DEBUGGER_MESSAGE_TEAM_EXEC: team: %" 
B_PRId32 "\n",
                                event->Team());
@@ -1227,6 +1231,20 @@ TeamDebugger::_HandleDebuggerMessage(DebugEvent* event)
 
 
 bool
+TeamDebugger::_HandleTeamDeleted(TeamDeletedEvent* event)
+{
+       char message[64];
+       snprintf(message, sizeof(message), "Team %" B_PRId32 " has terminated.",
+               event->Team());
+       fUserInterface->SynchronouslyAskUser("Quit Debugger", message, "Quit",
+               NULL, NULL);
+       PostMessage(B_QUIT_REQUESTED);
+
+       return true;
+}
+
+
+bool
 TeamDebugger::_HandleThreadCreated(ThreadCreatedEvent* event)
 {
        AutoLocker< ::Team> locker(fTeam);
diff --git a/src/apps/debugger/controllers/TeamDebugger.h 
b/src/apps/debugger/controllers/TeamDebugger.h
index b8b4347..700c01a 100644
--- a/src/apps/debugger/controllers/TeamDebugger.h
+++ b/src/apps/debugger/controllers/TeamDebugger.h
@@ -116,6 +116,8 @@ private:
 
                        void                            
_HandleDebuggerMessage(DebugEvent* event);
 
+                       bool                            _HandleTeamDeleted(
+                                                                       
TeamDeletedEvent* event);
                        bool                            _HandleThreadCreated(
                                                                        
ThreadCreatedEvent* event);
                        bool                            _HandleThreadRenamed(


Other related posts:

  • » [haiku-commits] haiku: hrev45549 - src/apps/debugger/controllers - anevilyak