diff options
author | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2022-08-16 20:38:03 +0300 |
---|---|---|
committer | Tarja Sundqvist <tarja.sundqvist@qt.io> | 2022-08-16 20:38:03 +0300 |
commit | 72027f3a4532787d3bc5ae6ef56b055b3a1a5e09 (patch) | |
tree | ec951e478fee1508f4324bd8c81cd94fa8252b84 | |
parent | 4255e66eee580a244a693172289ef1ab6a8452c8 (diff) | |
parent | 30b0376f2b20013b6e687979f0be53791a48b3f0 (diff) |
Merge remote-tracking branch 'origin/tqtc/lts-5.15.6' into tqtc/lts-5.15-opensourcev5.15.6-lts-lgpl
Change-Id: Ia4e6ffc419e24148f37c89e661ad7b2558f53371
-rw-r--r-- | .qmake.conf | 2 | ||||
-rw-r--r-- | src/websockets/qwebsocket_p.cpp | 5 | ||||
-rw-r--r-- | src/websockets/qwebsocketdataprocessor.cpp | 10 |
3 files changed, 13 insertions, 4 deletions
diff --git a/.qmake.conf b/.qmake.conf index b8e1161..53c1ac9 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -3,4 +3,4 @@ load(qt_build_config) CONFIG += warning_clean DEFINES += QT_NO_FOREACH -MODULE_VERSION = 5.15.5 +MODULE_VERSION = 5.15.6 diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp index aedc3c6..824184a 100644 --- a/src/websockets/qwebsocket_p.cpp +++ b/src/websockets/qwebsocket_p.cpp @@ -270,6 +270,11 @@ QSslConfiguration QWebSocketPrivate::sslConfiguration() const void QWebSocketPrivate::ignoreSslErrors(const QList<QSslError> &errors) { m_configuration.m_ignoredSslErrors = errors; + if (Q_LIKELY(m_pSocket)) { + QSslSocket *pSslSocket = qobject_cast<QSslSocket *>(m_pSocket); + if (Q_LIKELY(pSslSocket)) + pSslSocket->ignoreSslErrors(errors); + } } /*! diff --git a/src/websockets/qwebsocketdataprocessor.cpp b/src/websockets/qwebsocketdataprocessor.cpp index e2cc291..2affdd5 100644 --- a/src/websockets/qwebsocketdataprocessor.cpp +++ b/src/websockets/qwebsocketdataprocessor.cpp @@ -202,6 +202,7 @@ bool QWebSocketDataProcessor::process(QIODevice *pIoDevice) return true; } + bool isFinalFrame = frame.isFinalFrame(); if (m_opCode == QWebSocketProtocol::OpCodeText) { QString frameTxt = m_pTextCodec->toUnicode(frame.payload().constData(), frame.payload().size(), @@ -215,14 +216,17 @@ bool QWebSocketDataProcessor::process(QIODevice *pIoDevice) return true; } else { m_textMessage.append(frameTxt); - Q_EMIT textFrameReceived(frameTxt, frame.isFinalFrame()); + frame.clear(); + Q_EMIT textFrameReceived(frameTxt, isFinalFrame); } } else { m_binaryMessage.append(frame.payload()); - Q_EMIT binaryFrameReceived(frame.payload(), frame.isFinalFrame()); + QByteArray payload = frame.payload(); + frame.clear(); + Q_EMIT binaryFrameReceived(payload, isFinalFrame); } - if (frame.isFinalFrame()) { + if (isFinalFrame) { isDone = true; if (m_opCode == QWebSocketProtocol::OpCodeText) { const QString textMessage(m_textMessage); |