[AFV] Map reader, break while loop if application shuts down

This commit is contained in:
Klaus Basan
2020-02-26 00:18:22 +01:00
committed by Mat Sutcliffe
parent 81fa0b56c1
commit 271c6c4825

View File

@@ -28,12 +28,16 @@ namespace BlackCore
{ {
if (!sApp || !sApp->getNetworkAccessManager() || sApp->isShuttingDown()) { return; } if (!sApp || !sApp->getNetworkAccessManager() || sApp->isShuttingDown()) { return; }
QEventLoop loop; QEventLoop loop(sApp);
connect(sApp->getNetworkAccessManager(), &QNetworkAccessManager::finished, &loop, &QEventLoop::quit); connect(sApp->getNetworkAccessManager(), &QNetworkAccessManager::finished, &loop, &QEventLoop::quit);
connect(sApp, &CApplication::aboutToShutdown, &loop, &QEventLoop::quit);
QNetworkReply *reply = sApp->getNetworkAccessManager()->get(QNetworkRequest(QUrl("https://voice1.vatsim.uk/api/v1/network/online/callsigns"))); QNetworkReply *reply = sApp->getNetworkAccessManager()->get(QNetworkRequest(QUrl("https://voice1.vatsim.uk/api/v1/network/online/callsigns")));
while (! reply->isFinished()) { loop.exec(); } while (reply && !reply->isFinished() && sApp && !sApp->isShuttingDown())
QByteArray jsonData = reply->readAll(); {
reply->deleteLater(); loop.exec();
}
const QByteArray jsonData = reply->readAll();
if (reply) { reply->deleteLater(); }
if (jsonData.isEmpty()) { return; } if (jsonData.isEmpty()) { return; }