diff options
author | Andy Shaw <andy.shaw@qt.io> | 2017-04-11 10:24:00 +0200 |
---|---|---|
committer | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2017-04-11 16:31:32 +0000 |
commit | 1cd8c6f48e73b7fa12be0831c1218bc1767c4a81 (patch) | |
tree | 5ef02ee5c310a00631650641530dcf3c99a9ead5 | |
parent | f9226217d1b653e7786f8b920f6b36bfd4bd0512 (diff) |
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 <timur.pocheptsov@qt.io>
-rw-r--r-- | src/network/access/qnetworkaccessmanager.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
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()); |