@@ -20,33 +20,50 @@ void CurrentVersionFetcher::fetchCurrentVersion(QString url)
2020
2121void CurrentVersionFetcher::reply (QNetworkReply* reply)
2222{
23- QString game;
24- QString updater;
23+ QString gameVersion;
24+ QString updaterVersion;
25+
2526 if (reply->error () != QNetworkReply::NoError) {
2627 qDebug () << " CurrentVersionFetcher: network error" ;
27- emit onCurrentVersions (updater, game );
28+ emit onCurrentVersions (updaterVersion, gameVersion );
2829 return ;
2930 }
31+
3032 QJsonParseError error;
3133 QJsonDocument json = QJsonDocument::fromJson (reply->readAll (), &error);
3234 if (error.error != QJsonParseError::NoError) {
3335 qDebug () << " CurrentVersionFetcher: JSON parsing error" ;
34- emit onCurrentVersions (updater, game );
36+ emit onCurrentVersions (updaterVersion, gameVersion );
3537 return ;
3638 }
37- QJsonValue value = json.object ().value (" updater" );
38- if (value != QJsonValue::Undefined) {
39- updater = value.toString ();
39+ QJsonObject jsonObject = json.object ();
40+
41+ QJsonObject updaterObject = jsonObject[" updater" ].toObject ();
42+ if (!updaterObject.isEmpty ()) {
43+ QJsonValue version = updaterObject.value (" version" );
44+ if (version != QJsonValue::Undefined) {
45+ updaterVersion = version.toString ();
46+ } else {
47+ qDebug () << " CurrentVersionFetcher: undefined “version” updater value" ;
48+ }
4049 } else {
41- qDebug () << " CurrentVersionFetcher: undefined “updater” value " ;
50+ qDebug () << " CurrentVersionFetcher: undefined “updater” key " ;
4251 }
43- value = json.object ().value (" unvanquished" );
44- if (value != QJsonValue::Undefined) {
45- game = value.toString ();
52+
53+ QJsonObject gameObject = jsonObject[" game" ].toObject ();
54+ if (!gameObject.isEmpty ()) {
55+ QJsonValue version = gameObject.value (" version" );
56+ if (version != QJsonValue::Undefined) {
57+ gameVersion = version.toString ();
58+ } else {
59+ qDebug () << " CurrentVersionFetcher: undefined “version” game value" ;
60+ }
4661 } else {
47- qDebug () << " CurrentVersionFetcher: undefined “unvanquished” value " ;
62+ qDebug () << " CurrentVersionFetcher: undefined “game” key " ;
4863 }
49- qDebug () << " CurrentVersionFetcher: fetched versions: updater =" << updater << " game =" << game;
50- emit onCurrentVersions (updater, game);
64+
65+ qDebug () << " CurrentVersionFetcher: fetched versions: updater =" << updaterVersion << " game =" << gameVersion;
66+
67+ emit onCurrentVersions (updaterVersion, gameVersion);
5168}
5269
0 commit comments