From 6c0f39441a5165f4800fcee7c256cf3ba1db0d51 Mon Sep 17 00:00:00 2001 From: Kurt Pattyn <pattyn.kurt@gmail.com> Date: Thu, 13 Feb 2014 22:38:02 +0100 Subject: [PATCH] Use queued connection for readyRead connection Task-number: QTBUG-36757 Change-Id: I4358563d52ecbff7b7e1575c5d34cef30b5fcd52 Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com> --- src/websockets/qwebsocketserver_p.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/websockets/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp index f1c616db..a5f91694 100644 --- a/src/websockets/qwebsocketserver_p.cpp +++ b/src/websockets/qwebsocketserver_p.cpp @@ -377,8 +377,12 @@ void QWebSocketServerPrivate::setError(QWebSocketProtocol::CloseCode code, const void QWebSocketServerPrivate::onNewConnection() { QTcpSocket *pTcpSocket = m_pTcpServer->nextPendingConnection(); + //use a queued connection because a QSslSocket + //needs the event loop to process incoming data + //if not queued, data is incomplete when handshakeReceived is called QObjectPrivate::connect(pTcpSocket, &QTcpSocket::readyRead, - this, &QWebSocketServerPrivate::handshakeReceived); + this, &QWebSocketServerPrivate::handshakeReceived, + Qt::QueuedConnection); } /*! -- GitLab