diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2019-10-14 18:46:38 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2019-10-14 19:02:37 +0200 |
commit | c2f8b9535d34da6948ccf45b7d5fd90de2f1bc9e (patch) | |
tree | c6f7e058a985d7c18b51cadc76283caf555071c9 /src/qmldebug | |
parent | 9e633bbda7608ac0231809e2a6a97ae8f2d849d6 (diff) | |
parent | 803f18f02e5609a1ca00a5b78ea6d3613d44e1a0 (diff) |
Merge remote-tracking branch 'origin/dev' into wip/cmake
Removed dependencies.yaml because we don't use it yet in wip/cmake.
Fixed conflict in qmlcachegen.cpp.
Change-Id: Ie1060c737bee1daa85779903598e5b6d5020d922
Diffstat (limited to 'src/qmldebug')
-rw-r--r-- | src/qmldebug/qqmldebugconnection.cpp | 27 | ||||
-rw-r--r-- | src/qmldebug/qqmldebugconnection_p.h | 1 | ||||
-rw-r--r-- | src/qmldebug/qqmlenginedebugclient.cpp | 130 | ||||
-rw-r--r-- | src/qmldebug/qqmlenginedebugclient_p.h | 90 | ||||
-rw-r--r-- | src/qmldebug/qqmlenginedebugclient_p_p.h | 2 |
5 files changed, 126 insertions, 124 deletions
diff --git a/src/qmldebug/qqmldebugconnection.cpp b/src/qmldebug/qqmldebugconnection.cpp index 4e087ee6db..15c56fc20d 100644 --- a/src/qmldebug/qqmldebugconnection.cpp +++ b/src/qmldebug/qqmldebugconnection.cpp @@ -205,14 +205,14 @@ void QQmlDebugConnection::protocolReadyRead() QHash<QString, QQmlDebugClient *>::Iterator iter = d->plugins.begin(); for (; iter != d->plugins.end(); ++iter) { - const QString pluginName = iter.key(); - QQmlDebugClient::State newSate = QQmlDebugClient::Unavailable; + const QString &pluginName = iter.key(); + QQmlDebugClient::State newState = QQmlDebugClient::Unavailable; if (d->serverPlugins.contains(pluginName)) - newSate = QQmlDebugClient::Enabled; + newState = QQmlDebugClient::Enabled; if (oldServerPlugins.contains(pluginName) != d->serverPlugins.contains(pluginName)) { - iter.value()->stateChanged(newSate); + iter.value()->stateChanged(newState); } } } else { @@ -223,9 +223,10 @@ void QQmlDebugConnection::protocolReadyRead() if (iter == d->plugins.end()) { // We can get more messages for plugins we have removed because it takes time to // send the advertisement message but the removal is instant locally. - if (!d->removedPlugins.contains(name)) + if (!d->removedPlugins.contains(name)) { qWarning() << "QQmlDebugConnection: Message received for missing plugin" << name; + } } else { QQmlDebugClient *client = *iter; QByteArray message; @@ -307,7 +308,7 @@ void QQmlDebugConnection::close() bool QQmlDebugConnection::waitForConnected(int msecs) { Q_D(QQmlDebugConnection); - QAbstractSocket *socket = qobject_cast<QAbstractSocket*>(d->device); + auto socket = qobject_cast<QAbstractSocket*>(d->device); if (!socket) { if (!d->server || (!d->server->hasPendingConnections() && !d->server->waitForNewConnection(msecs))) @@ -324,7 +325,7 @@ bool QQmlDebugConnection::waitForConnected(int msecs) QQmlDebugClient *QQmlDebugConnection::client(const QString &name) const { Q_D(const QQmlDebugConnection); - return d->plugins.value(name, 0); + return d->plugins.value(name, nullptr); } bool QQmlDebugConnection::addClient(const QString &name, QQmlDebugClient *client) @@ -371,9 +372,9 @@ bool QQmlDebugConnection::sendMessage(const QString &name, const QByteArray &mes void QQmlDebugConnectionPrivate::flush() { - if (QAbstractSocket *socket = qobject_cast<QAbstractSocket *>(device)) + if (auto socket = qobject_cast<QAbstractSocket *>(device)) socket->flush(); - else if (QLocalSocket *socket = qobject_cast<QLocalSocket *>(device)) + else if (auto socket = qobject_cast<QLocalSocket *>(device)) socket->flush(); } @@ -382,7 +383,7 @@ void QQmlDebugConnection::connectToHost(const QString &hostName, quint16 port) Q_D(QQmlDebugConnection); if (d->gotHello) close(); - QTcpSocket *socket = new QTcpSocket(this); + auto socket = new QTcpSocket(this); d->device = socket; d->createProtocol(); connect(socket, &QAbstractSocket::disconnected, this, &QQmlDebugConnection::socketDisconnected); @@ -430,8 +431,8 @@ public: } signals: - void socketError(QAbstractSocket::SocketError error); - void socketStateChanged(QAbstractSocket::SocketState state); + void socketError(QAbstractSocket::SocketError); + void socketStateChanged(QAbstractSocket::SocketState); }; void QQmlDebugConnection::newConnection() @@ -443,7 +444,7 @@ void QQmlDebugConnection::newConnection() d->device = socket; d->createProtocol(); connect(socket, &QLocalSocket::disconnected, this, &QQmlDebugConnection::socketDisconnected); - LocalSocketSignalTranslator *translator = new LocalSocketSignalTranslator(socket); + auto translator = new LocalSocketSignalTranslator(socket); connect(translator, &LocalSocketSignalTranslator::socketError, this, &QQmlDebugConnection::socketError); diff --git a/src/qmldebug/qqmldebugconnection_p.h b/src/qmldebug/qqmldebugconnection_p.h index ad9376886c..5abdd2943b 100644 --- a/src/qmldebug/qqmldebugconnection_p.h +++ b/src/qmldebug/qqmldebugconnection_p.h @@ -61,7 +61,6 @@ class QQmlDebugConnectionPrivate; class QQmlDebugConnection : public QObject { Q_OBJECT - Q_DISABLE_COPY(QQmlDebugConnection) Q_DECLARE_PRIVATE(QQmlDebugConnection) public: QQmlDebugConnection(QObject *parent = nullptr); diff --git a/src/qmldebug/qqmlenginedebugclient.cpp b/src/qmldebug/qqmlenginedebugclient.cpp index 50f8deb087..0ca3f573d9 100644 --- a/src/qmldebug/qqmlenginedebugclient.cpp +++ b/src/qmldebug/qqmlenginedebugclient.cpp @@ -33,14 +33,14 @@ QT_BEGIN_NAMESPACE struct QQmlObjectData { QUrl url; - int lineNumber = -1; - int columnNumber = -1; + qint32 lineNumber = -1; + qint32 columnNumber = -1; QString idString; QString objectName; QString objectType; - int objectId = -1; - int contextId = -1; - int parentId = -1; + qint32 objectId = -1; + qint32 contextId = -1; + qint32 parentId = -1; }; QPacket &operator>>(QPacket &ds, QQmlObjectData &data) @@ -63,10 +63,10 @@ struct QQmlObjectProperty { QPacket &operator>>(QPacket &ds, QQmlObjectProperty &data) { - int type; + qint32 type; ds >> type >> data.name >> data.value >> data.valueTypeName >> data.binding >> data.hasNotifySignal; - data.type = (QQmlObjectProperty::Type)type; + data.type = QQmlObjectProperty::Type(type); return ds; } @@ -81,10 +81,10 @@ QQmlEngineDebugClientPrivate::QQmlEngineDebugClientPrivate(QQmlDebugConnection * } -quint32 QQmlEngineDebugClient::addWatch( +qint32 QQmlEngineDebugClient::addWatch( const QQmlEngineDebugPropertyReference &property, bool *success) { - quint32 id = -1; + qint32 id = -1; *success = false; if (state() == QQmlDebugClient::Enabled) { id = getId(); @@ -97,19 +97,19 @@ quint32 QQmlEngineDebugClient::addWatch( return id; } -quint32 QQmlEngineDebugClient::addWatch( +qint32 QQmlEngineDebugClient::addWatch( const QQmlEngineDebugContextReference &, const QString &, bool *success) { *success = false; qWarning("QQmlEngineDebugClient::addWatch(): Not implemented"); - return 0; + return -1; } -quint32 QQmlEngineDebugClient::addWatch( +qint32 QQmlEngineDebugClient::addWatch( const QQmlEngineDebugObjectReference &object, const QString &expr, bool *success) { - quint32 id = -1; + qint32 id = -1; *success = false; if (state() == QQmlDebugClient::Enabled) { id = getId(); @@ -121,10 +121,10 @@ quint32 QQmlEngineDebugClient::addWatch( return id; } -quint32 QQmlEngineDebugClient::addWatch( +qint32 QQmlEngineDebugClient::addWatch( const QQmlEngineDebugObjectReference &object, bool *success) { - quint32 id = -1; + qint32 id = -1; *success = false; if (state() == QQmlDebugClient::Enabled) { id = getId(); @@ -136,15 +136,15 @@ quint32 QQmlEngineDebugClient::addWatch( return id; } -quint32 QQmlEngineDebugClient::addWatch( +qint32 QQmlEngineDebugClient::addWatch( const QQmlEngineDebugFileReference &, bool *success) { *success = false; qWarning("QQmlEngineDebugClient::addWatch(): Not implemented"); - return 0; + return -1; } -void QQmlEngineDebugClient::removeWatch(quint32 id, bool *success) +void QQmlEngineDebugClient::removeWatch(qint32 id, bool *success) { *success = false; if (state() == QQmlDebugClient::Enabled) { @@ -155,11 +155,11 @@ void QQmlEngineDebugClient::removeWatch(quint32 id, bool *success) } } -quint32 QQmlEngineDebugClient::queryAvailableEngines(bool *success) +qint32 QQmlEngineDebugClient::queryAvailableEngines(bool *success) { Q_D(QQmlEngineDebugClient); d->engines.clear(); - quint32 id = -1; + qint32 id = -1; *success = false; if (state() == QQmlDebugClient::Enabled) { id = getId(); @@ -171,12 +171,12 @@ quint32 QQmlEngineDebugClient::queryAvailableEngines(bool *success) return id; } -quint32 QQmlEngineDebugClient::queryRootContexts( +qint32 QQmlEngineDebugClient::queryRootContexts( const QQmlEngineDebugEngineReference &engine, bool *success) { Q_D(QQmlEngineDebugClient); d->rootContext = QQmlEngineDebugContextReference(); - quint32 id = -1; + qint32 id = -1; *success = false; if (state() == QQmlDebugClient::Enabled && engine.debugId != -1) { id = getId(); @@ -188,12 +188,12 @@ quint32 QQmlEngineDebugClient::queryRootContexts( return id; } -quint32 QQmlEngineDebugClient::queryObject( +qint32 QQmlEngineDebugClient::queryObject( const QQmlEngineDebugObjectReference &object, bool *success) { Q_D(QQmlEngineDebugClient); d->object = QQmlEngineDebugObjectReference(); - quint32 id = -1; + qint32 id = -1; *success = false; if (state() == QQmlDebugClient::Enabled && object.debugId != -1) { id = getId(); @@ -205,12 +205,12 @@ quint32 QQmlEngineDebugClient::queryObject( return id; } -quint32 QQmlEngineDebugClient::queryObjectsForLocation( - const QString &file, int lineNumber, int columnNumber, bool *success) +qint32 QQmlEngineDebugClient::queryObjectsForLocation( + const QString &file, qint32 lineNumber, qint32 columnNumber, bool *success) { Q_D(QQmlEngineDebugClient); d->objects.clear(); - quint32 id = -1; + qint32 id = -1; *success = false; if (state() == QQmlDebugClient::Enabled) { id = getId(); @@ -223,12 +223,12 @@ quint32 QQmlEngineDebugClient::queryObjectsForLocation( return id; } -quint32 QQmlEngineDebugClient::queryObjectRecursive( +qint32 QQmlEngineDebugClient::queryObjectRecursive( const QQmlEngineDebugObjectReference &object, bool *success) { Q_D(QQmlEngineDebugClient); d->object = QQmlEngineDebugObjectReference(); - quint32 id = -1; + qint32 id = -1; *success = false; if (state() == QQmlDebugClient::Enabled && object.debugId != -1) { id = getId(); @@ -240,12 +240,12 @@ quint32 QQmlEngineDebugClient::queryObjectRecursive( return id; } -quint32 QQmlEngineDebugClient::queryObjectsForLocationRecursive(const QString &file, - int lineNumber, int columnNumber, bool *success) +qint32 QQmlEngineDebugClient::queryObjectsForLocationRecursive(const QString &file, + qint32 lineNumber, qint32 columnNumber, bool *success) { Q_D(QQmlEngineDebugClient); d->objects.clear(); - quint32 id = -1; + qint32 id = -1; *success = false; if (state() == QQmlDebugClient::Enabled) { id = getId(); @@ -258,12 +258,12 @@ quint32 QQmlEngineDebugClient::queryObjectsForLocationRecursive(const QString &f return id; } -quint32 QQmlEngineDebugClient::queryExpressionResult( - int objectDebugId, const QString &expr, bool *success) +qint32 QQmlEngineDebugClient::queryExpressionResult( + qint32 objectDebugId, const QString &expr, bool *success) { Q_D(QQmlEngineDebugClient); d->exprResult = QVariant(); - quint32 id = -1; + qint32 id = -1; *success = false; if (state() == QQmlDebugClient::Enabled) { id = getId(); @@ -276,12 +276,12 @@ quint32 QQmlEngineDebugClient::queryExpressionResult( return id; } -quint32 QQmlEngineDebugClient::queryExpressionResultBC( - int objectDebugId, const QString &expr, bool *success) +qint32 QQmlEngineDebugClient::queryExpressionResultBC( + qint32 objectDebugId, const QString &expr, bool *success) { Q_D(QQmlEngineDebugClient); d->exprResult = QVariant(); - quint32 id = -1; + qint32 id = -1; *success = false; if (state() == QQmlDebugClient::Enabled) { id = getId(); @@ -293,15 +293,15 @@ quint32 QQmlEngineDebugClient::queryExpressionResultBC( return id; } -quint32 QQmlEngineDebugClient::setBindingForObject( - int objectDebugId, +qint32 QQmlEngineDebugClient::setBindingForObject( + qint32 objectDebugId, const QString &propertyName, const QVariant &bindingExpression, bool isLiteralValue, - const QString &source, int line, + const QString &source, qint32 line, bool *success) { - quint32 id = -1; + qint32 id = -1; *success = false; if (state() == QQmlDebugClient::Enabled && objectDebugId != -1) { id = getId(); @@ -314,12 +314,12 @@ quint32 QQmlEngineDebugClient::setBindingForObject( return id; } -quint32 QQmlEngineDebugClient::resetBindingForObject( - int objectDebugId, +qint32 QQmlEngineDebugClient::resetBindingForObject( + qint32 objectDebugId, const QString &propertyName, bool *success) { - quint32 id = -1; + qint32 id = -1; *success = false; if (state() == QQmlDebugClient::Enabled && objectDebugId != -1) { id = getId(); @@ -331,11 +331,11 @@ quint32 QQmlEngineDebugClient::resetBindingForObject( return id; } -quint32 QQmlEngineDebugClient::setMethodBody( - int objectDebugId, const QString &methodName, +qint32 QQmlEngineDebugClient::setMethodBody( + qint32 objectDebugId, const QString &methodName, const QString &methodBody, bool *success) { - quint32 id = -1; + qint32 id = -1; *success = false; if (state() == QQmlDebugClient::Enabled && objectDebugId != -1) { id = getId(); @@ -366,19 +366,19 @@ void QQmlEngineDebugClient::decode(QPacket &ds, if (simple) return; - int childCount; + qint32 childCount; bool recur; ds >> childCount >> recur; - for (int ii = 0; ii < childCount; ++ii) { + for (qint32 ii = 0; ii < childCount; ++ii) { o.children.append(QQmlEngineDebugObjectReference()); decode(ds, o.children.last(), !recur); } - int propCount; + qint32 propCount; ds >> propCount; - for (int ii = 0; ii < propCount; ++ii) { + for (qint32 ii = 0; ii < propCount; ++ii) { QQmlObjectProperty data; ds >> data; QQmlEngineDebugPropertyReference prop; @@ -414,9 +414,9 @@ void QQmlEngineDebugClient::decode(QPacket &ds, QList<QQmlEngineDebugObjectReference> &o, bool simple) { - int count; + qint32 count; ds >> count; - for (int i = 0; i < count; i++) { + for (qint32 i = 0; i < count; i++) { QQmlEngineDebugObjectReference obj; decode(ds, obj, simple); o << obj; @@ -464,18 +464,18 @@ void QQmlEngineDebugClient::decode(QPacket &ds, { ds >> c.name >> c.debugId; - int contextCount; + qint32 contextCount; ds >> contextCount; - for (int ii = 0; ii < contextCount; ++ii) { + for (qint32 ii = 0; ii < contextCount; ++ii) { c.contexts.append(QQmlEngineDebugContextReference()); decode(ds, c.contexts.last()); } - int objectCount; + qint32 objectCount; ds >> objectCount; - for (int ii = 0; ii < objectCount; ++ii) { + for (qint32 ii = 0; ii < objectCount; ++ii) { QQmlEngineDebugObjectReference obj; decode(ds, obj, true); @@ -490,18 +490,18 @@ void QQmlEngineDebugClient::messageReceived(const QByteArray &data) d->valid = false; QPacket ds(connection()->currentDataStreamVersion(), data); - int queryId; + qint32 queryId; QByteArray type; ds >> type >> queryId; //qDebug() << "QQmlEngineDebugPrivate::message()" << type; if (type == "LIST_ENGINES_R") { - int count; + qint32 count; ds >> count; d->engines.clear(); - for (int ii = 0; ii < count; ++ii) { + for (qint32 ii = 0; ii < count; ++ii) { QQmlEngineDebugEngineReference eng; ds >> eng.name; ds >> eng.debugId; @@ -532,7 +532,7 @@ void QQmlEngineDebugClient::messageReceived(const QByteArray &data) ds >> d->valid; } else if (type == "UPDATE_WATCH") { - int debugId; + qint32 debugId; QByteArray name; QVariant value; ds >> debugId >> name >> value; @@ -540,7 +540,9 @@ void QQmlEngineDebugClient::messageReceived(const QByteArray &data) return; } else if (type == "OBJECT_CREATED") { - int engineId, objectId, parentId; + qint32 engineId; + qint32 objectId; + qint32 parentId; ds >> engineId >> objectId >> parentId; emit newObject(objectId); return; @@ -557,7 +559,7 @@ void QQmlEngineDebugClient::messageReceived(const QByteArray &data) } -quint32 QQmlEngineDebugClient::getId() +qint32 QQmlEngineDebugClient::getId() { Q_D(QQmlEngineDebugClient); return d->nextId++; diff --git a/src/qmldebug/qqmlenginedebugclient_p.h b/src/qmldebug/qqmlenginedebugclient_p.h index 4a9cc3a020..0a01f2eac5 100644 --- a/src/qmldebug/qqmlenginedebugclient_p.h +++ b/src/qmldebug/qqmlenginedebugclient_p.h @@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE struct QQmlEngineDebugPropertyReference { - int objectDebugId = -1; + qint32 objectDebugId = -1; QString name; QVariant value; QString valueTypeName; @@ -61,25 +61,25 @@ struct QQmlEngineDebugPropertyReference struct QQmlEngineDebugFileReference { QUrl url; - int lineNumber = -1; - int columnNumber = -1; + qint32 lineNumber = -1; + qint32 columnNumber = -1; }; struct QQmlEngineDebugObjectReference { - int debugId = -1; + qint32 debugId = -1; QString className; QString idString; QString name; QQmlEngineDebugFileReference source; - int contextDebugId = -1; + qint32 contextDebugId = -1; QList<QQmlEngineDebugPropertyReference> properties; QList<QQmlEngineDebugObjectReference> children; }; struct QQmlEngineDebugContextReference { - int debugId = -1; + qint32 debugId = -1; QString name; QList<QQmlEngineDebugObjectReference> objects; QList<QQmlEngineDebugContextReference> contexts; @@ -87,7 +87,7 @@ struct QQmlEngineDebugContextReference struct QQmlEngineDebugEngineReference { - int debugId = -1; + qint32 debugId = -1; QString name; }; @@ -100,46 +100,46 @@ class QQmlEngineDebugClient : public QQmlDebugClient public: explicit QQmlEngineDebugClient(QQmlDebugConnection *conn); - quint32 addWatch(const QQmlEngineDebugPropertyReference &, - bool *success); - quint32 addWatch(const QQmlEngineDebugContextReference &, const QString &, - bool *success); - quint32 addWatch(const QQmlEngineDebugObjectReference &, const QString &, - bool *success); - quint32 addWatch(const QQmlEngineDebugObjectReference &, - bool *success); - quint32 addWatch(const QQmlEngineDebugFileReference &, + qint32 addWatch(const QQmlEngineDebugPropertyReference &, + bool *success); + qint32 addWatch(const QQmlEngineDebugContextReference &, const QString &, + bool *success); + qint32 addWatch(const QQmlEngineDebugObjectReference &, const QString &, + bool *success); + qint32 addWatch(const QQmlEngineDebugObjectReference &, + bool *success); + qint32 addWatch(const QQmlEngineDebugFileReference &, bool *success); - void removeWatch(quint32 watch, bool *success); - - quint32 queryAvailableEngines(bool *success); - quint32 queryRootContexts(const QQmlEngineDebugEngineReference &, - bool *success); - quint32 queryObject(const QQmlEngineDebugObjectReference &, - bool *success); - quint32 queryObjectsForLocation(const QString &file, - int lineNumber, int columnNumber, bool *success); - quint32 queryObjectRecursive(const QQmlEngineDebugObjectReference &, + void removeWatch(qint32 watch, bool *success); + + qint32 queryAvailableEngines(bool *success); + qint32 queryRootContexts(const QQmlEngineDebugEngineReference &, + bool *success); + qint32 queryObject(const QQmlEngineDebugObjectReference &, + bool *success); + qint32 queryObjectsForLocation(const QString &file, + qint32 lineNumber, qint32 columnNumber, bool *success); + qint32 queryObjectRecursive(const QQmlEngineDebugObjectReference &, + bool *success); + qint32 queryObjectsForLocationRecursive(const QString &file, + qint32 lineNumber, qint32 columnNumber, bool *success); + qint32 queryExpressionResult(qint32 objectDebugId, + const QString &expr, + bool *success); + qint32 queryExpressionResultBC(qint32 objectDebugId, + const QString &expr, bool *success); - quint32 queryObjectsForLocationRecursive(const QString &file, - int lineNumber, int columnNumber, bool *success); - quint32 queryExpressionResult(int objectDebugId, - const QString &expr, - bool *success); - quint32 queryExpressionResultBC(int objectDebugId, - const QString &expr, - bool *success); - quint32 setBindingForObject(int objectDebugId, const QString &propertyName, - const QVariant &bindingExpression, - bool isLiteralValue, - const QString &source, int line, bool *success); - quint32 resetBindingForObject(int objectDebugId, - const QString &propertyName, bool *success); - quint32 setMethodBody(int objectDebugId, const QString &methodName, - const QString &methodBody, bool *success); - - quint32 getId(); + qint32 setBindingForObject(qint32 objectDebugId, const QString &propertyName, + const QVariant &bindingExpression, + bool isLiteralValue, + const QString &source, qint32 line, bool *success); + qint32 resetBindingForObject(qint32 objectDebugId, + const QString &propertyName, bool *success); + qint32 setMethodBody(qint32 objectDebugId, const QString &methodName, + const QString &methodBody, bool *success); + + qint32 getId(); void decode(QPacket &ds, QQmlEngineDebugContextReference &); void decode(QPacket &ds, QQmlEngineDebugObjectReference &, bool simple); @@ -153,7 +153,7 @@ public: bool valid() const; signals: - void newObject(int objectId); + void newObject(qint32 objectId); void valueChanged(QByteArray,QVariant); void result(); diff --git a/src/qmldebug/qqmlenginedebugclient_p_p.h b/src/qmldebug/qqmlenginedebugclient_p_p.h index 7c992ad3ab..b73da15e9d 100644 --- a/src/qmldebug/qqmlenginedebugclient_p_p.h +++ b/src/qmldebug/qqmlenginedebugclient_p_p.h @@ -62,7 +62,7 @@ class QQmlEngineDebugClientPrivate : public QQmlDebugClientPrivate public: QQmlEngineDebugClientPrivate(QQmlDebugConnection *connection); - quint32 nextId = 0; + qint32 nextId = 0; bool valid = false; QList<QQmlEngineDebugEngineReference> engines; QQmlEngineDebugContextReference rootContext; |