diff --git a/ChangeLog.md b/ChangeLog.md index 866118c41..8f433fe57 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -141,6 +141,7 @@ Nazara Engine: - Added SegmentCollider2D::GetThickness - Fixed vertices generation/render queue submit when using multiples materials on a Tilemap - It is now possible to prevent CompoundCollider2D to override individual colliders properties +- Fixed TcpClient::WaitForConnected possible failure (although connected) on Windows/Linux Nazara Development Kit: - Added ImageWidget (#139) diff --git a/src/Nazara/Network/Posix/SocketImpl.cpp b/src/Nazara/Network/Posix/SocketImpl.cpp index f82e992ca..46afef418 100644 --- a/src/Nazara/Network/Posix/SocketImpl.cpp +++ b/src/Nazara/Network/Posix/SocketImpl.cpp @@ -153,7 +153,7 @@ namespace Nz tv.tv_usec = static_cast((msTimeout % 1000ULL) * 1000ULL); int ret = select(handle + 1, nullptr, &localSet, &localSet, (msTimeout > 0) ? &tv : nullptr); - if (ret == SOCKET_ERROR) + if (ret > 0) { int code = GetLastErrorCode(handle, error); if (code < 0) //< GetLastErrorCode() failed diff --git a/src/Nazara/Network/Win32/SocketImpl.cpp b/src/Nazara/Network/Win32/SocketImpl.cpp index f503fa4d8..e1191e07d 100644 --- a/src/Nazara/Network/Win32/SocketImpl.cpp +++ b/src/Nazara/Network/Win32/SocketImpl.cpp @@ -132,6 +132,7 @@ namespace Nz switch (errorCode) //< Check for "normal errors" first { case WSAEALREADY: + case WSAEINVAL: //< In case of connect, WSAEINVAL may be returned instead of WSAEALREADY case WSAEWOULDBLOCK: return SocketState_Connecting;