diff options
author | Liang Qi <liang.qi@qt.io> | 2019-07-05 15:37:50 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2019-07-05 15:37:50 +0200 |
commit | deee7b7eced5b240e3161d655319dbaaf2f8965c (patch) | |
tree | 4ad6db0e97482c24f02f111cbfeec224535feb73 /src/network/socket/qsocks5socketengine.cpp | |
parent | bcd4b14026094d0077ad1069054676cc6da96251 (diff) | |
parent | 6ad08b9cad4efefc72e64deaa0b720a3aab0fa54 (diff) |
Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
.qmake.conf
qmake/generators/makefile.cpp
Change-Id: Ifb2633a69d0bf8cdf12d799c6259beefc279c49e
Diffstat (limited to 'src/network/socket/qsocks5socketengine.cpp')
-rw-r--r-- | src/network/socket/qsocks5socketengine.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp index c8a990aa01..0457d77111 100644 --- a/src/network/socket/qsocks5socketengine.cpp +++ b/src/network/socket/qsocks5socketengine.cpp @@ -1188,6 +1188,8 @@ void QSocks5SocketEnginePrivate::_q_controlSocketReadNotification() break; case RequestMethodSent: parseRequestMethodReply(); + if (socks5State == Connected && data->controlSocket->bytesAvailable()) + _q_controlSocketReadNotification(); break; case Connected: { QByteArray buf; @@ -1751,6 +1753,11 @@ bool QSocks5SocketEngine::waitForRead(int msecs, bool *timedOut) return false; if (d->data->controlSocket->state() == QAbstractSocket::UnconnectedState) return true; + if (bytesAvailable() && d->readNotificationPending) { + // We've got some data incoming, but the queued call hasn't been performed yet. + // The data is where we expect it to be already, so just return true. + return true; + } // we're connected if (d->mode == QSocks5SocketEnginePrivate::ConnectMode || |