From 0551cd8e442de24df924648fabbb06ff61e2db0c Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Wed, 8 Apr 2020 22:10:58 +0200 Subject: [PATCH] Switching between source files from asm view. --- server/TracySourceView.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/server/TracySourceView.cpp b/server/TracySourceView.cpp index 3b0306c4..3a935c76 100644 --- a/server/TracySourceView.cpp +++ b/server/TracySourceView.cpp @@ -864,12 +864,23 @@ void SourceView::RenderAsmLine( const AsmLine& line, uint32_t ipcnt, uint32_t ip ImGui::Text( "%s:%i", fileName, srcline ); ImGui::EndTooltip(); if( m_font ) ImGui::PushFont( m_font ); - if( !m_lines.empty() && m_file == fileName && ImGui::IsItemClicked() ) + if( ImGui::IsItemClicked() ) { - m_currentAddr = line.addr; - m_targetLine = srcline; - m_selectedLine = srcline; - m_displayMode = DisplayMixed; + if( m_file == fileName ) + { + m_currentAddr = line.addr; + m_targetLine = srcline; + m_selectedLine = srcline; + m_displayMode = DisplayMixed; + } + else if( SourceFileValid( fileName, worker.GetCaptureTime() ) ) + { + ParseSource( fileName, &worker ); + m_currentAddr = line.addr; + m_targetLine = srcline; + m_selectedLine = srcline; + m_displayMode = DisplayMixed; + } } } ImGui::SameLine( 0, 0 );