summaryrefslogtreecommitdiffstats
path: root/src/network/socket/qabstractsocket.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/socket/qabstractsocket.cpp')
-rw-r--r--src/network/socket/qabstractsocket.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp
index 7284b124c5..6d47540b75 100644
--- a/src/network/socket/qabstractsocket.cpp
+++ b/src/network/socket/qabstractsocket.cpp
@@ -1354,15 +1354,29 @@ void QAbstractSocketPrivate::fetchConnectionParameters()
}
state = QAbstractSocket::ConnectedState;
- emit q->stateChanged(state);
- emit q->connected();
-
#if defined(QABSTRACTSOCKET_DEBUG)
qDebug("QAbstractSocketPrivate::fetchConnectionParameters() connection to %s:%i established",
host.toString().toLatin1().constData(), port);
#endif
+ emit q->stateChanged(state);
+ emit q->connected();
}
+/*! \internal
+*/
+qint64 QAbstractSocketPrivate::skip(qint64 maxSize)
+{
+ // if we're not connected, return -1 indicating EOF
+ if (!socketEngine || !socketEngine->isValid() || state != QAbstractSocket::ConnectedState)
+ return -1;
+
+ // Caller, QIODevice::skip(), has ensured buffer is empty. So, wait
+ // for more data in buffered mode.
+ if (isBuffered)
+ return 0;
+
+ return QIODevicePrivate::skip(maxSize);
+}
void QAbstractSocketPrivate::pauseSocketNotifiers(QAbstractSocket *socket)
{