From 59ce7fe05fc42c224e02a3cf4a09d9c5181b4de8 Mon Sep 17 00:00:00 2001 From: Jim Ingham Date: Fri, 10 Sep 2010 23:06:30 +0000 Subject: When the debugger updates its symbol context, if no thread or frame are selected select the first thread's 0th frame. llvm-svn: 113657 --- lldb/source/Core/Debugger.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lldb/source/Core/Debugger.cpp') 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); + } } } } -- cgit v1.2.3