From 271c6c4825a44eff632d535b3b14101d7ca7eaa8 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 26 Feb 2020 00:18:22 +0100 Subject: [PATCH] [AFV] Map reader, break while loop if application shuts down --- src/blackcore/afv/model/afvmapreader.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/blackcore/afv/model/afvmapreader.cpp b/src/blackcore/afv/model/afvmapreader.cpp index 21acaea2c..c1e0434e2 100644 --- a/src/blackcore/afv/model/afvmapreader.cpp +++ b/src/blackcore/afv/model/afvmapreader.cpp @@ -28,12 +28,16 @@ namespace BlackCore { if (!sApp || !sApp->getNetworkAccessManager() || sApp->isShuttingDown()) { return; } - QEventLoop loop; + QEventLoop loop(sApp); 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"))); - while (! reply->isFinished()) { loop.exec(); } - QByteArray jsonData = reply->readAll(); - reply->deleteLater(); + while (reply && !reply->isFinished() && sApp && !sApp->isShuttingDown()) + { + loop.exec(); + } + const QByteArray jsonData = reply->readAll(); + if (reply) { reply->deleteLater(); } if (jsonData.isEmpty()) { return; }