diff --git a/launcher/ui/pages/instance/ServersPage.cpp b/launcher/ui/pages/instance/ServersPage.cpp index fa8d6c891..100f92386 100644 --- a/launcher/ui/pages/instance/ServersPage.cpp +++ b/launcher/ui/pages/instance/ServersPage.cpp @@ -140,8 +140,9 @@ class ServerPingTask : public Task { virtual void executeTask() override { qDebug() << "Querying status of " << m_server.m_address; auto [domain, port] = m_server.splitAddress(); - MCResolver resolver(nullptr, domain, port); - QObject::connect(&resolver, &MCResolver::succeed, [&](QString ip, int port) { + MCResolver *resolver = new MCResolver(nullptr, domain, port); + QObject::connect(resolver, &MCResolver::succeed, [=](QString ip, int port) { + resolver->deleteLater(); qDebug() << "Resolved Addresse for" << domain << ": " << ip << ":" << port; McClient client(nullptr, domain, ip, port); int online = client.getOnlinePlayers(); @@ -149,7 +150,7 @@ class ServerPingTask : public Task { client.close(); }); - resolver.ping(); + resolver->ping(); } private: