From 5bd3f3de5fa851ae267f8b0d4099c20411d96640 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Wed, 7 Sep 2022 23:35:27 +0200 Subject: [PATCH] Don't use space for frame sets that are out of view range. This becomes problematic at the end of the range, as continuous frames do not have an "end", but rather essentially persist until the last recorded event. --- server/TracyView_FrameTimeline.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/server/TracyView_FrameTimeline.cpp b/server/TracyView_FrameTimeline.cpp index 59ade44a..437a5f18 100644 --- a/server/TracyView_FrameTimeline.cpp +++ b/server/TracyView_FrameTimeline.cpp @@ -93,6 +93,10 @@ void View::DrawTimelineFramesHeader() void View::DrawTimelineFrames( const FrameData& frames ) { + const std::pair zrange = m_worker.GetFrameRange( frames, m_vd.zvStart, m_vd.zvEnd ); + if( zrange.first < 0 ) return; + if( m_worker.GetFrameBegin( frames, zrange.first ) > m_vd.zvEnd || m_worker.GetFrameEnd( frames, zrange.second ) < m_vd.zvStart ) return; + const auto wpos = ImGui::GetCursorScreenPos(); const auto dpos = wpos + ImVec2( 0.5f, 0.5f ); const auto w = ImGui::GetContentRegionAvail().x - ImGui::GetStyle().ScrollbarSize; @@ -110,9 +114,6 @@ void View::DrawTimelineFrames( const FrameData& frames ) const auto nspx = 1.0 / pxns; - const std::pair zrange = m_worker.GetFrameRange( frames, m_vd.zvStart, m_vd.zvEnd ); - if( zrange.first < 0 ) return; - int64_t prev = -1; int64_t prevEnd = -1; int64_t endPos = -1;