From f4df6a791884cdc9ee467281ce0ab00e8a5686f2 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sat, 20 Feb 2021 23:08:11 +1100 Subject: [PATCH] ensure cleanup on autocache upon destruction Fixes double free. --- app/render/previewautocacher.cpp | 6 ++++++ app/render/previewautocacher.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/app/render/previewautocacher.cpp b/app/render/previewautocacher.cpp index 2f706537f..675b6a5b1 100644 --- a/app/render/previewautocacher.cpp +++ b/app/render/previewautocacher.cpp @@ -28,6 +28,12 @@ PreviewAutoCacher::PreviewAutoCacher() : connect(&delayed_requeue_timer_, &QTimer::timeout, this, &PreviewAutoCacher::RequeueFrames); } +PreviewAutoCacher::~PreviewAutoCacher() +{ + // Ensure everything is cleaned up appropriately + SetViewerNode(nullptr); +} + RenderTicketPtr PreviewAutoCacher::GetSingleFrame(const rational &t) { if (single_frame_render_) { diff --git a/app/render/previewautocacher.h b/app/render/previewautocacher.h index b7cd698af..3c3542eea 100644 --- a/app/render/previewautocacher.h +++ b/app/render/previewautocacher.h @@ -24,6 +24,8 @@ class PreviewAutoCacher : public QObject public: PreviewAutoCacher(); + virtual ~PreviewAutoCacher() override; + RenderTicketPtr GetSingleFrame(const rational& t); /**