diff --git a/server/TracyTimelineItem.cpp b/server/TracyTimelineItem.cpp index 54ac5ff6..c934fb7e 100644 --- a/server/TracyTimelineItem.cpp +++ b/server/TracyTimelineItem.cpp @@ -8,10 +8,11 @@ namespace tracy { -TimelineItem::TimelineItem( View& view, Worker& worker ) +TimelineItem::TimelineItem( View& view, Worker& worker, const void* key ) : m_visible( true ) , m_showFull( true ) , m_height( 0 ) + , m_key( key ) , m_view( view ) , m_worker( worker ) { diff --git a/server/TracyTimelineItem.hpp b/server/TracyTimelineItem.hpp index 78a2725c..068bf1f1 100644 --- a/server/TracyTimelineItem.hpp +++ b/server/TracyTimelineItem.hpp @@ -14,7 +14,7 @@ class Worker; class TimelineItem { public: - TimelineItem( View& view, Worker& worker ); + TimelineItem( View& view, Worker& worker, const void* key ); virtual ~TimelineItem() = default; // draws the timeilne item and also updates the next frame height value @@ -29,6 +29,8 @@ public: // returns 0 instead of the correct value for the first frame int GetNextFrameHeight() const { return m_height; } + const void* GetKey() const { return m_key; } + protected: virtual uint32_t HeaderColor() const = 0; virtual uint32_t HeaderColorInactive() const = 0; @@ -54,6 +56,8 @@ private: int m_height; + const void* m_key; + protected: View& m_view; Worker& m_worker; diff --git a/server/TracyTimelineItemCpuData.cpp b/server/TracyTimelineItemCpuData.cpp index 9664c109..1701889f 100644 --- a/server/TracyTimelineItemCpuData.cpp +++ b/server/TracyTimelineItemCpuData.cpp @@ -8,8 +8,8 @@ namespace tracy { -TimelineItemCpuData::TimelineItemCpuData( View& view, Worker& worker, void* ) - : TimelineItem( view, worker ) +TimelineItemCpuData::TimelineItemCpuData( View& view, Worker& worker, void* key ) + : TimelineItem( view, worker, key ) { } diff --git a/server/TracyTimelineItemCpuData.hpp b/server/TracyTimelineItemCpuData.hpp index 642ba52c..399667a9 100644 --- a/server/TracyTimelineItemCpuData.hpp +++ b/server/TracyTimelineItemCpuData.hpp @@ -10,7 +10,7 @@ namespace tracy class TimelineItemCpuData final : public TimelineItem { public: - TimelineItemCpuData( View& view, Worker& worker, void* ); + TimelineItemCpuData( View& view, Worker& worker, void* key ); void SetVisible( bool visible ) override; bool IsVisible() const override; diff --git a/server/TracyTimelineItemGpu.cpp b/server/TracyTimelineItemGpu.cpp index 11506e9b..2974eb56 100644 --- a/server/TracyTimelineItemGpu.cpp +++ b/server/TracyTimelineItemGpu.cpp @@ -10,7 +10,7 @@ namespace tracy { TimelineItemGpu::TimelineItemGpu( View& view, Worker& worker, GpuCtxData* gpu ) - : TimelineItem( view, worker ) + : TimelineItem( view, worker, gpu ) , m_gpu( gpu ) , m_idx( view.GetNextGpuIdx() ) { diff --git a/server/TracyTimelineItemPlot.cpp b/server/TracyTimelineItemPlot.cpp index 07e45ef1..6580d44a 100644 --- a/server/TracyTimelineItemPlot.cpp +++ b/server/TracyTimelineItemPlot.cpp @@ -9,7 +9,7 @@ namespace tracy { TimelineItemPlot::TimelineItemPlot( View& view, Worker& worker, PlotData* plot ) - : TimelineItem( view, worker ) + : TimelineItem( view, worker, plot ) , m_plot( plot ) { } diff --git a/server/TracyTimelineItemThread.cpp b/server/TracyTimelineItemThread.cpp index c100bd5c..b0f7f785 100644 --- a/server/TracyTimelineItemThread.cpp +++ b/server/TracyTimelineItemThread.cpp @@ -12,7 +12,7 @@ namespace tracy { TimelineItemThread::TimelineItemThread( View& view, Worker& worker, const ThreadData* thread ) - : TimelineItem( view, worker ) + : TimelineItem( view, worker, thread ) , m_thread( thread ) , m_ghost( false ) {