From f4e0b8d03abcad14458f9c19fbcf20c783f2478c Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Sat, 2 Jul 2011 02:01:02 +0000 Subject: [PATCH] Now that DebuggerInterface is BReferenceable, all of these need to be correctly acquiring/releasing refs to it as well. Thanks Ingo. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42362 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/debugger/BreakpointManager.cpp | 2 ++ src/apps/debugger/TeamDebugger.cpp | 5 +++-- src/apps/debugger/ThreadHandler.cpp | 2 ++ src/apps/debugger/debug_info/DebuggerImageDebugInfo.cpp | 2 ++ src/apps/debugger/debug_info/TeamDebugInfo.cpp | 3 +++ 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/apps/debugger/BreakpointManager.cpp b/src/apps/debugger/BreakpointManager.cpp index 2e93531792..1c653bc6d0 100644 --- a/src/apps/debugger/BreakpointManager.cpp +++ b/src/apps/debugger/BreakpointManager.cpp @@ -26,11 +26,13 @@ BreakpointManager::BreakpointManager(Team* team, fTeam(team), fDebuggerInterface(debuggerInterface) { + fDebuggerInterface->AcquireReference(); } BreakpointManager::~BreakpointManager() { + fDebuggerInterface->ReleaseReference(); } diff --git a/src/apps/debugger/TeamDebugger.cpp b/src/apps/debugger/TeamDebugger.cpp index 09031d0b9c..0525e4f98c 100644 --- a/src/apps/debugger/TeamDebugger.cpp +++ b/src/apps/debugger/TeamDebugger.cpp @@ -160,8 +160,10 @@ TeamDebugger::~TeamDebugger() fTerminating = true; - if (fDebuggerInterface != NULL) + if (fDebuggerInterface != NULL) { fDebuggerInterface->Close(fKillTeamOnQuit); + fDebuggerInterface->ReleaseReference(); + } if (fWorker != NULL) fWorker->ShutDown(); @@ -193,7 +195,6 @@ TeamDebugger::~TeamDebugger() delete fBreakpointManager; delete fMemoryBlockManager; - delete fDebuggerInterface; delete fWorker; delete fTeam; delete fFileManager; diff --git a/src/apps/debugger/ThreadHandler.cpp b/src/apps/debugger/ThreadHandler.cpp index c05c18d46c..f5559b6162 100644 --- a/src/apps/debugger/ThreadHandler.cpp +++ b/src/apps/debugger/ThreadHandler.cpp @@ -54,12 +54,14 @@ ThreadHandler::ThreadHandler(Thread* thread, Worker* worker, fPreviousInstructionPointer(0), fSingleStepping(false) { + fDebuggerInterface->AcquireReference(); } ThreadHandler::~ThreadHandler() { _ClearContinuationState(); + fDebuggerInterface->ReleaseReference(); } diff --git a/src/apps/debugger/debug_info/DebuggerImageDebugInfo.cpp b/src/apps/debugger/debug_info/DebuggerImageDebugInfo.cpp index a9c761c1a9..490d6a6974 100644 --- a/src/apps/debugger/debug_info/DebuggerImageDebugInfo.cpp +++ b/src/apps/debugger/debug_info/DebuggerImageDebugInfo.cpp @@ -24,11 +24,13 @@ DebuggerImageDebugInfo::DebuggerImageDebugInfo(const ImageInfo& imageInfo, fDebuggerInterface(debuggerInterface), fArchitecture(architecture) { + fDebuggerInterface->AcquireReference(); } DebuggerImageDebugInfo::~DebuggerImageDebugInfo() { + fDebuggerInterface->ReleaseReference(); } diff --git a/src/apps/debugger/debug_info/TeamDebugInfo.cpp b/src/apps/debugger/debug_info/TeamDebugInfo.cpp index 95341dde12..6e1d40727e 100644 --- a/src/apps/debugger/debug_info/TeamDebugInfo.cpp +++ b/src/apps/debugger/debug_info/TeamDebugInfo.cpp @@ -262,6 +262,7 @@ TeamDebugInfo::TeamDebugInfo(DebuggerInterface* debuggerInterface, fSourceFiles(NULL), fTypeCache(NULL) { + fDebuggerInterface->AcquireReference(); } @@ -291,6 +292,8 @@ TeamDebugInfo::~TeamDebugInfo() delete fFunctions; } + + fDebuggerInterface->ReleaseReference(); }