From 1cd8c6f48e73b7fa12be0831c1218bc1767c4a81 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Tue, 11 Apr 2017 10:24:00 +0200 Subject: Make networkAccessibility() return the actual state of the network If networkAccessibility() was queried when the networkAccessibleChanged signal was emitted then it would report the wrong state and in some instances it would incorrectly report NotAccessible. This ensures that it is reflecting what the signal would have been emitted with. Change-Id: Ib0a7ef9e9ec42c9007340020fd535c8ad36caa49 Reviewed-by: Timur Pocheptsov --- src/network/access/qnetworkaccessmanager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index 018586f9dc..d898f93403 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -1045,7 +1045,7 @@ QNetworkAccessManager::NetworkAccessibility QNetworkAccessManager::networkAccess { Q_D(const QNetworkAccessManager); - if (d->networkConfiguration.state().testFlag(QNetworkConfiguration::Undefined)) + if (d->customNetworkConfiguration && d->networkConfiguration.state().testFlag(QNetworkConfiguration::Undefined)) return UnknownAccessibility; if (d->networkSessionRequired) { @@ -1841,6 +1841,7 @@ void QNetworkAccessManagerPrivate::_q_networkSessionStateChanged(QNetworkSession } else if (state == QNetworkSession::Connected || state == QNetworkSession::Roaming) { reallyOnline = true; } + online = reallyOnline; if (!reallyOnline) { if (state != QNetworkSession::Connected && state != QNetworkSession::Roaming) { @@ -1856,7 +1857,6 @@ void QNetworkAccessManagerPrivate::_q_networkSessionStateChanged(QNetworkSession emit q->networkAccessibleChanged(networkAccessible); } } - online = reallyOnline; if (online && (state != QNetworkSession::Connected && state != QNetworkSession::Roaming)) { _q_networkSessionClosed(); createSession(q->configuration()); -- cgit v1.2.3