From 72c92893a5669a91e3d48b1341b6fde306db9a54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Wed, 27 Apr 2016 23:55:18 +0200 Subject: GH-1556 do not crash when instance has no update task while creating an instance --- application/MainWindow.cpp | 5 ++++- application/dialogs/ProgressDialog.cpp | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'application') diff --git a/application/MainWindow.cpp b/application/MainWindow.cpp index f059b275..da9ea779 100644 --- a/application/MainWindow.cpp +++ b/application/MainWindow.cpp @@ -1185,7 +1185,10 @@ void MainWindow::finalizeInstance(InstancePtr inst) QString error = QString("Instance load failed: %1").arg(reason); CustomMessageBox::selectable(this, tr("Error"), error, QMessageBox::Warning)->show(); }); - loadDialog.execWithTask(update.get()); + if(update) + { + loadDialog.execWithTask(update.get()); + } } else { diff --git a/application/dialogs/ProgressDialog.cpp b/application/dialogs/ProgressDialog.cpp index bca4e168..17ab79cd 100644 --- a/application/dialogs/ProgressDialog.cpp +++ b/application/dialogs/ProgressDialog.cpp @@ -17,6 +17,7 @@ #include "ui_ProgressDialog.h" #include +#include #include "tasks/Task.h" @@ -57,6 +58,12 @@ int ProgressDialog::execWithTask(Task *task) this->task = task; QDialog::DialogCode result; + if(!task) + { + qDebug() << "Programmer error: progress dialog created with null task."; + return Accepted; + } + if(handleImmediateResult(result)) { return result; -- cgit v1.2.3