summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--platform/qt/src/http_file_source.cpp9
-rw-r--r--platform/qt/src/http_file_source.hpp2
2 files changed, 6 insertions, 5 deletions
diff --git a/platform/qt/src/http_file_source.cpp b/platform/qt/src/http_file_source.cpp
index 87948609df..61fa1ca612 100644
--- a/platform/qt/src/http_file_source.cpp
+++ b/platform/qt/src/http_file_source.cpp
@@ -34,8 +34,6 @@ HTTPFileSource::Impl::Impl() : m_manager(new QNetworkAccessManager(this))
if (m_ssl.caCertificates().isEmpty()) {
mbgl::Log::Warning(mbgl::Event::HttpRequest, "Could not load list of certificate authorities");
}
-
- connect(m_manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinish(QNetworkReply*)));
}
void HTTPFileSource::Impl::request(HTTPRequest* req)
@@ -54,6 +52,8 @@ void HTTPFileSource::Impl::request(HTTPRequest* req)
networkRequest.setSslConfiguration(m_ssl);
data.first = m_manager->get(networkRequest);
+ connect(data.first, SIGNAL(finished()), this, SLOT(onReplyFinished()));
+ connect(data.first, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onReplyFinished()));
}
void HTTPFileSource::Impl::cancel(HTTPRequest* req)
@@ -90,9 +90,10 @@ void HTTPFileSource::Impl::cancel(HTTPRequest* req)
}
}
-void HTTPFileSource::Impl::replyFinish(QNetworkReply* reply)
+void HTTPFileSource::Impl::onReplyFinished()
{
- const QUrl& url = reply->request().url();
+ QNetworkReply* reply = qobject_cast<QNetworkReply *>(sender());
+ const QUrl& url = reply->url();
auto it = m_pending.find(url);
if (it == m_pending.end()) {
diff --git a/platform/qt/src/http_file_source.hpp b/platform/qt/src/http_file_source.hpp
index 777228d191..0776707069 100644
--- a/platform/qt/src/http_file_source.hpp
+++ b/platform/qt/src/http_file_source.hpp
@@ -28,7 +28,7 @@ public:
void cancel(HTTPRequest *);
public slots:
- void replyFinish(QNetworkReply *);
+ void onReplyFinished();
private:
QMap<QUrl, QPair<QNetworkReply *, QVector<HTTPRequest *>>> m_pending;