aboutsummaryrefslogtreecommitdiff
path: root/src/networkmanager.cpp
diff options
context:
space:
mode:
authorlambdcalculus <64238778+lambdcalculus@users.noreply.github.com>2023-11-30 09:17:42 -0300
committerGitHub <noreply@github.com>2023-11-30 13:17:42 +0100
commite9469a5ca4c1e156430e02cc1d55c03c4a008613 (patch)
treea96013570957852b5cde6d0fe70c03f5af28c452 /src/networkmanager.cpp
parente6e5e86f68459d6e85b48dccf0627493ea521256 (diff)
rework ms list callback logic (#927)
fixes crash when joining server before getting ms list back
Diffstat (limited to 'src/networkmanager.cpp')
-rw-r--r--src/networkmanager.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/networkmanager.cpp b/src/networkmanager.cpp
index 96e262a5..b7e2810c 100644
--- a/src/networkmanager.cpp
+++ b/src/networkmanager.cpp
@@ -29,18 +29,17 @@ NetworkManager::NetworkManager(AOApplication *parent) : QObject(parent)
heartbeat_timer->start(heartbeat_interval);
}
-void NetworkManager::get_server_list(const std::function<void()> &cb)
+void NetworkManager::get_server_list()
{
QNetworkRequest req(QUrl(ms_baseurl + "/servers"));
req.setRawHeader("User-Agent", get_user_agent().toUtf8());
QNetworkReply *reply = http->get(req);
connect(reply, &QNetworkReply::finished,
- this, std::bind(&NetworkManager::ms_request_finished, this, reply, cb));
+ this, std::bind(&NetworkManager::ms_request_finished, this, reply));
}
-void NetworkManager::ms_request_finished(QNetworkReply *reply,
- const std::function<void()> &cb)
+void NetworkManager::ms_request_finished(QNetworkReply *reply)
{
QJsonDocument json = QJsonDocument::fromJson(reply->readAll());
if (json.isNull()) {
@@ -72,8 +71,9 @@ void NetworkManager::ms_request_finished(QNetworkReply *reply,
}
ao_app->set_server_list(server_list);
- cb();
-
+ if (ao_app->lobby_constructed) {
+ ao_app->w_lobby->list_servers();
+ }
reply->deleteLater();
}