From 26a23595b4ff285393949abaa6e55cafcff178fb Mon Sep 17 00:00:00 2001 From: Peinthor Rene Date: Mon, 28 Apr 2014 22:12:17 +0200 Subject: [PATCH] updater: Fix a crash and handle redirects --- src/MainWindow.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 01c85caf..bb3bbb81 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -1275,10 +1275,23 @@ void MainWindow::httpresponse(QNetworkReply *reply) if(reply->error() == QNetworkReply::NoError) { + // Check for redirect + QVariant possibleRedirectUrl = + reply->attribute(QNetworkRequest::RedirectionTargetAttribute); + + if(!possibleRedirectUrl.toUrl().isEmpty()) + { + m_NetworkManager->get(QNetworkRequest(possibleRedirectUrl.toUrl())); + return; + } + // first line of the currentrelease file contains a major.minor.patch version string QString sversion(reply->readLine()); QStringList versiontokens = sversion.split("."); + if(versiontokens.size() < 3) + return; + int major = versiontokens[0].toInt(); int minor = versiontokens[1].toInt(); int patch = versiontokens[2].toInt();