diff options
| author | Jim Ingham <jingham@apple.com> | 2010-09-10 23:06:30 +0000 |
|---|---|---|
| committer | Jim Ingham <jingham@apple.com> | 2010-09-10 23:06:30 +0000 |
| commit | 59ce7fe05fc42c224e02a3cf4a09d9c5181b4de8 (patch) | |
| tree | fd819c016372631c6a79242369577e8115f3b996 /lldb/source/Core/Debugger.cpp | |
| parent | c7a7d92ad289034f13e842ee0b58254fa88fbba0 (diff) | |
| download | bcm5719-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.cpp | 10 |
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); + } } } } |

