diff options
| author | lambdcalculus <64238778+lambdcalculus@users.noreply.github.com> | 2023-11-30 09:17:42 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-30 13:17:42 +0100 |
| commit | e9469a5ca4c1e156430e02cc1d55c03c4a008613 (patch) | |
| tree | a96013570957852b5cde6d0fe70c03f5af28c452 /src/networkmanager.cpp | |
| parent | e6e5e86f68459d6e85b48dccf0627493ea521256 (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.cpp | 12 |
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(); } |
