diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 480c669d..d1cce53f 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -1652,10 +1652,12 @@ void Worker::ReadTimeline( FileRead& f, Vector& vec, uint16_t thread for( uint64_t i=0; i(); - new( &zone->child ) decltype( zone->child ); vec.push_back_no_space_check( zone ); + new( &zone->child ) decltype( zone->child ); f.Read( zone, sizeof( ZoneEvent ) - sizeof( ZoneEvent::child ) ); + ReadTimeline( f, zone->child, thread ); + #ifndef TRACY_NO_STATISTICS auto it = m_data.sourceLocationZones.find( zone->srcloc ); assert( it != m_data.sourceLocationZones.end() ); @@ -1671,8 +1673,6 @@ void Worker::ReadTimeline( FileRead& f, Vector& vec, uint16_t thread } } #endif - - ReadTimeline( f, zone->child, thread ); } }