From 4cd9cf5dd9405bb8fec284e4b1536811a06a36b0 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Sat, 21 Apr 2018 20:34:29 +0200 Subject: [PATCH] Cleanup zone data. --- server/TracyWorker.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index c42b03e6..0ba84db5 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -550,6 +550,16 @@ Worker::Worker( FileRead& f, EventType::Type eventMask ) } } +template +static inline void ZoneCleanup( Vector& vec ) +{ + for( auto& v : vec ) + { + ZoneCleanup( v->child ); + } + vec.~Vector(); +} + Worker::~Worker() { Shutdown(); @@ -560,6 +570,14 @@ Worker::~Worker() delete[] m_buffer; LZ4_freeStreamDecode( m_stream ); + for( auto& v : m_data.threads ) + { + ZoneCleanup( v->timeline ); + } + for( auto& v : m_data.gpuData ) + { + ZoneCleanup( v->timeline ); + } for( auto& v : m_data.plots ) { v->~PlotData();