From b539eca0f66d1d5fb766421843926cd6cd9bbb62 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 10 Aug 2018 13:33:26 +0100 Subject: [PATCH] Don't delete QProcess early if qrenderdoc takes too long to run --- qrenderdoc/Windows/Dialogs/CaptureDialog.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/qrenderdoc/Windows/Dialogs/CaptureDialog.cpp b/qrenderdoc/Windows/Dialogs/CaptureDialog.cpp index 4c4ae9786..8705d463e 100644 --- a/qrenderdoc/Windows/Dialogs/CaptureDialog.cpp +++ b/qrenderdoc/Windows/Dialogs/CaptureDialog.cpp @@ -408,10 +408,14 @@ void CaptureDialog::vulkanLayerWarn_mouseClick() } else { - QProcess process; - process.start(qApp->applicationFilePath(), QStringList() << lit("--install_vulkan_layer") - << lit("user")); - process.waitForFinished(300); + QProcess *process = new QProcess; + process->start(qApp->applicationFilePath(), QStringList() << lit("--install_vulkan_layer") + << lit("user")); + process->waitForFinished(300); + + // when the process exits, delete + QObject::connect(process, OverloadedSlot::of(&QProcess::finished), + [process](int exitCode) { process->deleteLater(); }); } }