diff options
author | Markus Goetz <Markus.Goetz@nokia.com> | 2010-10-19 15:25:38 (GMT) |
---|---|---|
committer | Markus Goetz <Markus.Goetz@nokia.com> | 2010-10-27 12:40:27 (GMT) |
commit | 32da94f1e58cf8591610bd3676ba448b5d7e55c0 (patch) | |
tree | 204597ea58e5e5ad9aebd9cdc9603b5f3b21c1c5 /src | |
parent | 0284bd11c8062108f8cff85175341bc9823b8ab4 (diff) | |
download | Qt-32da94f1e58cf8591610bd3676ba448b5d7e55c0.zip Qt-32da94f1e58cf8591610bd3676ba448b5d7e55c0.tar.gz Qt-32da94f1e58cf8591610bd3676ba448b5d7e55c0.tar.bz2 |
QNAM HTTP: Pause connection when emitting proxy auth signal
Pause the socket notifiers because the user could be displaying a
dialog which makes the event loop run and could make our socket
notifiers fire.
Reviewed-by: Prasanth
Task-Number: QTBUG-13234
Diffstat (limited to 'src')
-rw-r--r-- | src/network/access/qhttpnetworkconnection.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index 8e8c34d..d861cc1 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -969,7 +969,11 @@ void QHttpNetworkConnection::ignoreSslErrors(const QList<QSslError> &errors, int void QHttpNetworkConnectionPrivate::emitProxyAuthenticationRequired(const QHttpNetworkConnectionChannel *chan, const QNetworkProxy &proxy, QAuthenticator* auth) { Q_Q(QHttpNetworkConnection); + // Also pause the connection because socket notifiers may fire while an user + // dialog is displaying + pauseConnection(); emit q->proxyAuthenticationRequired(proxy, auth, q); + resumeConnection(); int i = indexOf(chan->socket); copyCredentials(i, auth, true); } |