From 400e712deb3919664cfbe800a3709adba84d908e Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 28 Nov 2023 16:18:47 +0000 Subject: [PATCH] Fix crash opening task shader context menu with no task shader --- qrenderdoc/Windows/BufferViewer.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/qrenderdoc/Windows/BufferViewer.cpp b/qrenderdoc/Windows/BufferViewer.cpp index 1e3f92f0b..c47a45d91 100644 --- a/qrenderdoc/Windows/BufferViewer.cpp +++ b/qrenderdoc/Windows/BufferViewer.cpp @@ -2987,10 +2987,12 @@ void BufferViewer::fixedVars_contextMenu(const QPoint &pos) // if we're already filtering to a task, don't offer to filter any more. However if we're // filtered to a mesh allow 'broadening' the filter back to the task - filterTask.setEnabled(m_CurMeshFilter != MeshFilter::TaskGroup); + // also don't allow filtering at all if there is no task shader bound + filterTask.setEnabled(!config1.taskSizes.empty() && m_CurMeshFilter != MeshFilter::TaskGroup); const BufferConfiguration &config1 = m_ModelOut1->getConfig(); - if(config1.taskSizes[idx].x * config1.taskSizes[idx].y * config1.taskSizes[idx].z == 0) + if(config1.taskSizes.empty() || + config1.taskSizes[idx].x * config1.taskSizes[idx].y * config1.taskSizes[idx].z == 0) gotoMesh.setEnabled(false); // if there's a filter don't enable goto mesh as normally we just scroll to the first mesh - it