summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/Debugger.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2010-09-10 23:06:30 +0000
committerJim Ingham <jingham@apple.com>2010-09-10 23:06:30 +0000
commit59ce7fe05fc42c224e02a3cf4a09d9c5181b4de8 (patch)
treefd819c016372631c6a79242369577e8115f3b996 /lldb/source/Core/Debugger.cpp
parentc7a7d92ad289034f13e842ee0b58254fa88fbba0 (diff)
downloadbcm5719-llvm-59ce7fe05fc42c224e02a3cf4a09d9c5181b4de8.tar.gz
bcm5719-llvm-59ce7fe05fc42c224e02a3cf4a09d9c5181b4de8.zip
When the debugger updates its symbol context, if no thread or frame are selected select the first thread's 0th frame.
llvm-svn: 113657
Diffstat (limited to 'lldb/source/Core/Debugger.cpp')
-rw-r--r--lldb/source/Core/Debugger.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp
index 304ee119198..2c20a7b8553 100644
--- a/lldb/source/Core/Debugger.cpp
+++ b/lldb/source/Core/Debugger.cpp
@@ -503,12 +503,22 @@ Debugger::UpdateExecutionContext (ExecutionContext *override_context)
{
m_exe_ctx.thread = m_exe_ctx.process->GetThreadList().GetSelectedThread().get();
if (m_exe_ctx.thread == NULL)
+ {
m_exe_ctx.thread = m_exe_ctx.process->GetThreadList().GetThreadAtIndex(0).get();
+ // If we didn't have a selected thread, select one here.
+ if (m_exe_ctx.thread != NULL)
+ m_exe_ctx.process->GetThreadList().SetSelectedThreadByIndexID(0);
+ }
if (m_exe_ctx.thread)
{
m_exe_ctx.frame = m_exe_ctx.thread->GetSelectedFrame().get();
if (m_exe_ctx.frame == NULL)
+ {
m_exe_ctx.frame = m_exe_ctx.thread->GetStackFrameAtIndex (0).get();
+ // If we didn't have a selected frame select one here.
+ if (m_exe_ctx.frame != NULL)
+ m_exe_ctx.thread->SetSelectedFrame(m_exe_ctx.frame);
+ }
}
}
}
OpenPOWER on IntegriCloud