Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/wolfpld/tracy.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorBartosz Taudul <wolf@nereid.pl>2022-10-14 20:49:06 +0300
committerBartosz Taudul <wolf@nereid.pl>2022-10-14 20:49:06 +0300
commitd0d6b8fd8e8901147d178ac70b0e6038e7f36676 (patch)
treef9573ec20dfd980e7d93d8d3184c49fa75913b7c /server
parent27ab25709d81e0657d20700e5a621d71bfdaf2cc (diff)
Use menus in inline call stack popup.
Diffstat (limited to 'server')
-rw-r--r--server/TracySourceView.cpp35
1 files changed, 17 insertions, 18 deletions
diff --git a/server/TracySourceView.cpp b/server/TracySourceView.cpp
index a4426b33..aef4a8bd 100644
--- a/server/TracySourceView.cpp
+++ b/server/TracySourceView.cpp
@@ -2819,24 +2819,8 @@ uint64_t SourceView::RenderSymbolAsmView( const AddrStatData& as, Worker& worker
const auto normalized = view.GetShortenName() != ShortenName::Never ? ShortenZoneName( ShortenName::OnlyNormalize, symName ) : symName;
const auto fn = worker.GetString( lcs->data[i].file );
const auto srcline = lcs->data[i].line;
- if( ImGui::Selectable( normalized ) )
+ if( ImGui::BeginMenu( normalized ) )
{
- m_targetLine = srcline;
- if( m_source.filename() == fn )
- {
- SelectLine( srcline, &worker, false );
- m_displayMode = DisplayMixed;
- }
- else if( SourceFileValid( fn, worker.GetCaptureTime(), view, worker ) )
- {
- ParseSource( fn, worker, view );
- SelectLine( srcline, &worker, false );
- SelectViewMode();
- }
- }
- if( ImGui::IsItemHovered() )
- {
- ImGui::BeginTooltip();
if( SourceFileValid( fn, worker.GetCaptureTime(), view, worker ) )
{
m_sourceTooltip.Parse( fn, worker, view );
@@ -2855,7 +2839,22 @@ uint64_t SourceView::RenderSymbolAsmView( const AddrStatData& as, Worker& worker
{
TextDisabledUnformatted( "Source not available" );
}
- ImGui::EndTooltip();
+ ImGui::EndMenu();
+ if( ImGui::IsItemClicked() )
+ {
+ m_targetLine = srcline;
+ if( m_source.filename() == fn )
+ {
+ SelectLine( srcline, &worker, false );
+ m_displayMode = DisplayMixed;
+ }
+ else if( SourceFileValid( fn, worker.GetCaptureTime(), view, worker ) )
+ {
+ ParseSource( fn, worker, view );
+ SelectLine( srcline, &worker, false );
+ SelectViewMode();
+ }
+ }
}
ImGui::PopID();
}