summaryrefslogtreecommitdiffstats
path: root/application/dialogs/ProgressDialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'application/dialogs/ProgressDialog.cpp')
-rw-r--r--application/dialogs/ProgressDialog.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/application/dialogs/ProgressDialog.cpp b/application/dialogs/ProgressDialog.cpp
index 17ab79cd..5d7c7968 100644
--- a/application/dialogs/ProgressDialog.cpp
+++ b/application/dialogs/ProgressDialog.cpp
@@ -97,6 +97,18 @@ int ProgressDialog::execWithTask(Task *task)
}
}
+// TODO: only provide the unique_ptr overloads
+int ProgressDialog::execWithTask(std::unique_ptr<Task> &&task)
+{
+ connect(this, &ProgressDialog::destroyed, task.get(), &Task::deleteLater);
+ return execWithTask(task.release());
+}
+int ProgressDialog::execWithTask(std::unique_ptr<Task> &task)
+{
+ connect(this, &ProgressDialog::destroyed, task.get(), &Task::deleteLater);
+ return execWithTask(task.release());
+}
+
bool ProgressDialog::handleImmediateResult(QDialog::DialogCode &result)
{
if(task->isFinished())