aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarja Sundqvist <tarja.sundqvist@qt.io>2022-08-16 20:38:03 +0300
committerTarja Sundqvist <tarja.sundqvist@qt.io>2022-08-16 20:38:03 +0300
commit72027f3a4532787d3bc5ae6ef56b055b3a1a5e09 (patch)
treeec951e478fee1508f4324bd8c81cd94fa8252b84
parent4255e66eee580a244a693172289ef1ab6a8452c8 (diff)
parent30b0376f2b20013b6e687979f0be53791a48b3f0 (diff)
Merge remote-tracking branch 'origin/tqtc/lts-5.15.6' into tqtc/lts-5.15-opensourcev5.15.6-lts-lgpl
-rw-r--r--.qmake.conf2
-rw-r--r--src/websockets/qwebsocket_p.cpp5
-rw-r--r--src/websockets/qwebsocketdataprocessor.cpp10
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);