From d02a6b938e8987fa95fbe9e3f085f319518e05ab Mon Sep 17 00:00:00 2001 From: Alex Trotsenko Date: Sat, 2 Dec 2017 19:22:00 +0200 Subject: QAbstractSocket: clear error code to match the error description Since 5.10, QIODevice resets the error string on opening. So, we should set the error code to UnknownSocketError accordingly. Change-Id: I0dd314788ffc182d6837f9d06b51e41d6de59d7e Reviewed-by: Timur Pocheptsov --- src/network/socket/qabstractsocket.cpp | 4 ++++ src/network/socket/qabstractsocket_p.h | 1 + 2 files changed, 5 insertions(+) (limited to 'src') diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp index 7284b124c5..ec88851589 100644 --- a/src/network/socket/qabstractsocket.cpp +++ b/src/network/socket/qabstractsocket.cpp @@ -1694,6 +1694,8 @@ void QAbstractSocket::connectToHost(const QString &hostName, quint16 port, } #endif + // Sync up with error string, which open() shall clear. + d->socketError = UnknownSocketError; if (openMode & QIODevice::Unbuffered) d->isBuffered = false; else if (!d_func()->isBuffered) @@ -1929,6 +1931,8 @@ bool QAbstractSocket::setSocketDescriptor(qintptr socketDescriptor, SocketState return false; } + // Sync up with error string, which open() shall clear. + d->socketError = UnknownSocketError; if (d->threadData->hasEventDispatcher()) d->socketEngine->setReceiver(d); diff --git a/src/network/socket/qabstractsocket_p.h b/src/network/socket/qabstractsocket_p.h index 5411133ea9..3873b50864 100644 --- a/src/network/socket/qabstractsocket_p.h +++ b/src/network/socket/qabstractsocket_p.h @@ -153,6 +153,7 @@ public: QAbstractSocket::SocketType socketType; QAbstractSocket::SocketState state; + // Must be kept in sync with QIODevicePrivate::errorString. QAbstractSocket::SocketError socketError; QAbstractSocket::NetworkLayerProtocol preferredNetworkLayerProtocol; -- cgit v1.2.3