diff --git a/qrenderdoc/Windows/BufferViewer.cpp b/qrenderdoc/Windows/BufferViewer.cpp index c615b6ae1..834369085 100644 --- a/qrenderdoc/Windows/BufferViewer.cpp +++ b/qrenderdoc/Windows/BufferViewer.cpp @@ -1330,7 +1330,9 @@ void BufferViewer::stageRowMenu(MeshDataStage stage, QMenu *menu, const QPoint & BufferViewer::~BufferViewer() { if(m_Output) - m_Output->Shutdown(); + { + m_Ctx.Replay().BlockInvoke([this](IReplayController *r) { m_Output->Shutdown(); }); + } if(m_ModelVSIn->indices) m_ModelVSIn->indices->deref(); diff --git a/qrenderdoc/Windows/TextureViewer.cpp b/qrenderdoc/Windows/TextureViewer.cpp index bb6f8b40e..b645f8644 100644 --- a/qrenderdoc/Windows/TextureViewer.cpp +++ b/qrenderdoc/Windows/TextureViewer.cpp @@ -659,7 +659,9 @@ TextureViewer::TextureViewer(ICaptureContext &ctx, QWidget *parent) TextureViewer::~TextureViewer() { if(m_Output) - m_Output->Shutdown(); + { + m_Ctx.Replay().BlockInvoke([this](IReplayController *r) { m_Output->Shutdown(); }); + } m_Ctx.BuiltinWindowClosed(this); m_Ctx.RemoveCaptureViewer(this);