From 80cb5b093a6083cadd9e12ed0f1a2c2a4f2e53c2 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 7 Dec 2017 15:09:51 +0000 Subject: [PATCH] Ensure RDHeaderView remains valid when deferring work --- qrenderdoc/Widgets/Extended/RDHeaderView.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/qrenderdoc/Widgets/Extended/RDHeaderView.cpp b/qrenderdoc/Widgets/Extended/RDHeaderView.cpp index 4fd613110..d61081368 100644 --- a/qrenderdoc/Widgets/Extended/RDHeaderView.cpp +++ b/qrenderdoc/Widgets/Extended/RDHeaderView.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include "Code/QRDUtils.h" ///////////////////////////////////////////////////////////////////////////////// @@ -476,9 +477,13 @@ void RDHeaderView::setRootIndex(const QModelIndex &index) // *before* the root index changes). if(!m_sectionStretchHints.isEmpty()) { - GUIInvoke::defer([this]() { - cacheSectionMinSizes(); - resizeSectionsWithHints(); + QPointer ptr; + GUIInvoke::defer([ptr]() { + if(ptr) + { + ptr->cacheSectionMinSizes(); + ptr->resizeSectionsWithHints(); + } }); } }