From: Vadim Zeitlin Date: Sat, 9 May 2009 17:26:35 +0000 (+0000) Subject: don't check for connected state of UDP sockets which are never connected (closes... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/d34f724d42cc7c2d584fc9d7e9ee5465388ee3f2 don't check for connected state of UDP sockets which are never connected (closes #10717) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/socket.cpp b/src/common/socket.cpp index c7af4a2600..3227bdb429 100644 --- a/src/common/socket.cpp +++ b/src/common/socket.cpp @@ -950,7 +950,9 @@ wxUint32 wxSocketBase::DoRead(void* buffer_, wxUint32 nbytes) // events and, even more importantly, we must do this under Windows // where we're not going to get notifications about socket being ready // for reading before we read all the existing data from it - const int ret = m_connected ? m_impl->Read(buffer, nbytes) : 0; + const int ret = !m_impl->m_stream || m_connected + ? m_impl->Read(buffer, nbytes) + : 0; if ( ret == -1 ) { if ( m_impl->GetLastError() == wxSOCKET_WOULDBLOCK ) @@ -1115,7 +1117,7 @@ wxUint32 wxSocketBase::DoWrite(const void *buffer_, wxUint32 nbytes) wxUint32 total = 0; while ( nbytes ) { - if ( !m_connected ) + if ( m_impl->m_stream && !m_connected ) { if ( (m_flags & wxSOCKET_WAITALL) || !total ) SetError(wxSOCKET_IOERR);