From 1969ef0f43580ead5f397d45a1ce606984abe065 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toma=C5=BE=20V=C3=B6r=C3=B6=C5=A1?= Date: Sun, 18 Dec 2022 23:40:03 +0100 Subject: [PATCH] Reintroduce the vertical scroll-bar reset logic in TimelineController. --- server/TracyTimelineController.cpp | 8 +++++++- server/TracyTimelineController.hpp | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/server/TracyTimelineController.cpp b/server/TracyTimelineController.cpp index 296a0e88..e7efe3f3 100644 --- a/server/TracyTimelineController.cpp +++ b/server/TracyTimelineController.cpp @@ -7,6 +7,7 @@ namespace tracy TimelineController::TimelineController( View& view, Worker& worker ) : m_height( 0 ) + , m_scroll( 0 ) , m_firstFrame( true ) , m_view( view ) , m_worker( worker ) @@ -30,7 +31,12 @@ void TimelineController::End( double pxns, int offset, const ImVec2& wpos, bool item->Draw( m_firstFrame, pxns, offset, wpos, hover, yMin, yMax ); } - m_height = offset; + const auto scrollPos = ImGui::GetScrollY(); + if( ( scrollPos == 0 && m_scroll != 0 ) || offset > m_height ) + { + m_height = offset; + } + m_scroll = scrollPos; } } diff --git a/server/TracyTimelineController.hpp b/server/TracyTimelineController.hpp index 58f9bb15..1d8e4f37 100644 --- a/server/TracyTimelineController.hpp +++ b/server/TracyTimelineController.hpp @@ -43,6 +43,7 @@ private: unordered_flat_map> m_itemMap; float m_height; + float m_scroll; bool m_firstFrame;