From 94a1fe0b12d63fc68e8f8e8670cfe981f67dcbe3 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Fri, 26 Aug 2016 12:50:39 +0200 Subject: Fix loading of QML plugins Since commit 709f6370884b110def2e4665df8fa7bbf5fae734 the plugin loader is strict about requiring the correct interface id, to avoid loading unrelated plugins in the loader thread (which they may not be prepared to do). Change-Id: If892bc1d3d1762ffd9dad9dd19deda84baba4159 Reviewed-by: Milian Wolff --- src/imports/qmlwebsockets/qmlwebsockets_plugin.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/imports/qmlwebsockets/qmlwebsockets_plugin.h b/src/imports/qmlwebsockets/qmlwebsockets_plugin.h index 318e0c7..749d830 100644 --- a/src/imports/qmlwebsockets/qmlwebsockets_plugin.h +++ b/src/imports/qmlwebsockets/qmlwebsockets_plugin.h @@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE class QtWebSocketsDeclarativeModule : public QQmlExtensionPlugin { Q_OBJECT - Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") + Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid) public: QtWebSocketsDeclarativeModule(QObject *parent = 0) : QQmlExtensionPlugin(parent) { initResources(); } -- cgit v1.2.1 From 05cebe43075f0dd9864199533608c1c520aea0fd Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 5 Sep 2016 08:45:19 +0200 Subject: Eradicate Q_FOREACH and Java-style loops and mark the module as Q_FOREACH-free Change-Id: I200f72423f13b54c636e995b120a70968b0e0758 Reviewed-by: Milian Wolff Reviewed-by: Lars Knoll --- src/websockets/qwebsocket_p.cpp | 19 ++++++++----------- src/websockets/qwebsocket_p.h | 2 +- src/websockets/qwebsockethandshakeresponse.cpp | 2 +- 3 files changed, 10 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp index 3a20b09..8f55e24 100644 --- a/src/websockets/qwebsocket_p.cpp +++ b/src/websockets/qwebsocket_p.cpp @@ -305,11 +305,9 @@ QWebSocket *QWebSocketPrivate::upgradeFrom(QTcpSocket *pTcpSocket, QWebSocket *pWebSocket = new QWebSocket(pTcpSocket, response.acceptedVersion(), parent); if (Q_LIKELY(pWebSocket)) { QNetworkRequest netRequest(request.requestUrl()); - QMapIterator headerIter(request.headers()); - while (headerIter.hasNext()) { - headerIter.next(); - netRequest.setRawHeader(headerIter.key().toLatin1(), headerIter.value().toLatin1()); - } + const auto headers = request.headers(); + for (auto it = headers.begin(), end = headers.end(); it != end; ++it) + netRequest.setRawHeader(it.key().toLatin1(), it.value().toLatin1()); #ifndef QT_NO_SSL if (QSslSocket *sslSock = qobject_cast(pTcpSocket)) pWebSocket->setSslConfiguration(sslSock->sslConfiguration()); @@ -1087,7 +1085,8 @@ void QWebSocketPrivate::processStateChanged(QAbstractSocket::SocketState socketS m_key = generateKey(); QList > headers; - foreach (const QByteArray &key, m_request.rawHeaderList()) + const auto keys = m_request.rawHeaderList(); + for (const QByteArray &key : keys) headers << qMakePair(QString::fromLatin1(key), QString::fromLatin1(m_request.rawHeader(key))); @@ -1203,7 +1202,7 @@ QString QWebSocketPrivate::createHandShakeRequest(QString resourceName, QString extensions, QString protocols, QByteArray key, - QList > headers) + const QList > &headers) { QStringList handshakeRequest; if (resourceName.contains(QStringLiteral("\r\n"))) { @@ -1246,11 +1245,9 @@ QString QWebSocketPrivate::createHandShakeRequest(QString resourceName, if (protocols.length() > 0) handshakeRequest << QStringLiteral("Sec-WebSocket-Protocol: ") % protocols; - QListIterator > headerIter(headers); - while (headerIter.hasNext()) { - const QPair &header = headerIter.next(); + for (const auto &header : headers) handshakeRequest << header.first % QStringLiteral(": ") % header.second; - } + handshakeRequest << QStringLiteral("\r\n"); return handshakeRequest.join(QStringLiteral("\r\n")); diff --git a/src/websockets/qwebsocket_p.h b/src/websockets/qwebsocket_p.h index 139c7ff..4863de7 100644 --- a/src/websockets/qwebsocket_p.h +++ b/src/websockets/qwebsocket_p.h @@ -193,7 +193,7 @@ private: QString extensions, QString protocols, QByteArray key, - QList > headers); + const QList > &headers); static QWebSocket *upgradeFrom(QTcpSocket *tcpSocket, const QWebSocketHandshakeRequest &request, diff --git a/src/websockets/qwebsockethandshakeresponse.cpp b/src/websockets/qwebsockethandshakeresponse.cpp index b5e1052..ee57d5c 100644 --- a/src/websockets/qwebsockethandshakeresponse.cpp +++ b/src/websockets/qwebsockethandshakeresponse.cpp @@ -207,7 +207,7 @@ QString QWebSocketHandshakeResponse::getHandshakeResponse( if (Q_UNLIKELY(!m_canUpgrade)) { response << QStringLiteral("HTTP/1.1 400 Bad Request"); QStringList versions; - Q_FOREACH (QWebSocketProtocol::Version version, supportedVersions) + for (QWebSocketProtocol::Version version : supportedVersions) versions << QString::number(static_cast(version)); response << QStringLiteral("Sec-WebSocket-Version: ") % versions.join(QStringLiteral(", ")); -- cgit v1.2.1