From 5ba6182bbc6cdad229fddcd9fdd449d666e1e75c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Tue, 4 Jul 2017 19:16:13 +0200 Subject: [PATCH] Qt: Fix WiiUpdate progress dialog cancel button We didn't properly remove the default cancellation handler, which would cause crashes if the dialog was gone too early. --- Source/Core/DolphinQt2/WiiUpdate.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Core/DolphinQt2/WiiUpdate.cpp b/Source/Core/DolphinQt2/WiiUpdate.cpp index cd9b0275e0..397765f4c9 100644 --- a/Source/Core/DolphinQt2/WiiUpdate.cpp +++ b/Source/Core/DolphinQt2/WiiUpdate.cpp @@ -98,7 +98,7 @@ static WiiUtils::UpdateResult ShowProgress(QWidget* parent, Callable function, A auto* cancel_button = new QPushButton(QObject::tr("&Cancel"), parent); dialog.setCancelButton(cancel_button); Common::Flag was_cancelled; - QObject::disconnect(&dialog, &QProgressDialog::canceled, &dialog, &QProgressDialog::cancel); + QObject::disconnect(&dialog, &QProgressDialog::canceled, nullptr, nullptr); QObject::connect(&dialog, &QProgressDialog::canceled, [&] { dialog.setLabelText(QObject::tr("Finishing the update...\nThis can take a while.")); cancel_button->setEnabled(false); @@ -120,7 +120,7 @@ static WiiUtils::UpdateResult ShowProgress(QWidget* parent, Callable function, A return !was_cancelled.IsSet(); }, std::forward(args)...); - QueueOnObject(&dialog, [&dialog] { dialog.close(); }); + QueueOnObject(&dialog, [&dialog] { dialog.done(0); }); return res; });