From f0c7a751c11207193c25786e435dc68f4aea7c00 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Thu, 9 Apr 2020 22:37:49 +0200 Subject: [PATCH] Context-sensitive auto-selection of stats mode in source view. --- server/TracySourceView.hpp | 2 ++ server/TracyView.cpp | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/server/TracySourceView.hpp b/server/TracySourceView.hpp index 41782c23..c9238448 100644 --- a/server/TracySourceView.hpp +++ b/server/TracySourceView.hpp @@ -53,6 +53,8 @@ public: void OpenSymbol( const char* fileName, int line, uint64_t baseAddr, uint64_t symAddr, const Worker& worker ); void Render( const Worker& worker ); + void CalcInlineStats( bool val ) { m_calcInlineStats = val; } + private: void ParseSource( const char* fileName, const Worker* worker ); bool Disassemble( uint64_t symAddr, const Worker& worker ); diff --git a/server/TracyView.cpp b/server/TracyView.cpp index 63ecb70d..630216a8 100644 --- a/server/TracyView.cpp +++ b/server/TracyView.cpp @@ -11585,6 +11585,7 @@ void View::DrawStatistics() if( SourceFileValid( file, m_worker.GetCaptureTime() ) ) { ViewSymbol( file, line, codeAddr, v.symAddr ); + if( !m_statSeparateInlines ) m_sourceView->CalcInlineStats( false ); } else if( symlen != 0 ) { @@ -11592,6 +11593,7 @@ void View::DrawStatistics() if( m_worker.GetSymbolCode( codeAddr, len ) ) { ViewSymbol( nullptr, 0, codeAddr, v.symAddr ); + if( !m_statSeparateInlines ) m_sourceView->CalcInlineStats( false ); } else { @@ -11741,6 +11743,7 @@ void View::DrawStatistics() if( SourceFileValid( file, m_worker.GetCaptureTime() ) ) { ViewSymbol( file, line, codeAddr, iv.symAddr ); + if( !m_statSeparateInlines ) m_sourceView->CalcInlineStats( true ); } else if( symlen != 0 ) { @@ -11748,6 +11751,7 @@ void View::DrawStatistics() if( m_worker.GetSymbolCode( codeAddr, len ) ) { ViewSymbol( nullptr, 0, codeAddr, iv.symAddr ); + if( !m_statSeparateInlines ) m_sourceView->CalcInlineStats( true ); } else {