From 9ce5eaaa0c8e8ca74dce42e2d287e865905efdf4 Mon Sep 17 00:00:00 2001 From: iTrooz Date: Sun, 24 Nov 2024 23:54:19 +0100 Subject: [PATCH] fix `job` being deleted before tasks are finished --- launcher/ui/pages/instance/ServersPage.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/launcher/ui/pages/instance/ServersPage.cpp b/launcher/ui/pages/instance/ServersPage.cpp index 459179c03..8193df4db 100644 --- a/launcher/ui/pages/instance/ServersPage.cpp +++ b/launcher/ui/pages/instance/ServersPage.cpp @@ -483,12 +483,16 @@ class ServersModel : public QAbstractListModel { void queryServersStatus() { - ConcurrentTask::Ptr job(new ConcurrentTask("Query servers status", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt())); + auto *job = new ConcurrentTask("Query servers status", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()); for (auto& server : m_servers) { ServerPingTask *task = new ServerPingTask(server); job->addTask(Task::Ptr(task)); } job->start(); + + connect(job, &ConcurrentTask::finished, [job]() { + job->deleteLater(); + }); } public slots: