From 284dbe7d79a89b7addbe996eed5059e7f05327dc Mon Sep 17 00:00:00 2001 From: baldurk Date: Sat, 16 May 2020 12:17:55 +0100 Subject: [PATCH] Fix crash if CustomPaintWidget is destroyed with paint mid-flight --- qrenderdoc/Widgets/CustomPaintWidget.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/qrenderdoc/Widgets/CustomPaintWidget.cpp b/qrenderdoc/Widgets/CustomPaintWidget.cpp index eb3a23872..7b28581cb 100644 --- a/qrenderdoc/Widgets/CustomPaintWidget.cpp +++ b/qrenderdoc/Widgets/CustomPaintWidget.cpp @@ -92,7 +92,13 @@ void CustomPaintWidget::paintEvent(QPaintEvent *e) if(m_Ctx) { if(m_Output != NULL) - m_Ctx->Replay().AsyncInvoke(m_Tag, [this](IReplayController *r) { m_Output->Display(); }); + { + QPointer me(this); + m_Ctx->Replay().AsyncInvoke(m_Tag, [me](IReplayController *r) { + if(me && me->m_Output) + me->m_Output->Display(); + }); + } } else if(m_Dark == m_Light) {