summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Goetz <Markus.Goetz@nokia.com>2010-10-19 15:25:38 (GMT)
committerMarkus Goetz <Markus.Goetz@nokia.com>2010-10-27 12:40:27 (GMT)
commit32da94f1e58cf8591610bd3676ba448b5d7e55c0 (patch)
tree204597ea58e5e5ad9aebd9cdc9603b5f3b21c1c5
parent0284bd11c8062108f8cff85175341bc9823b8ab4 (diff)
downloadQt-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
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp4
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);
}