QmlDesigner: Do not complete Connections in the puppet

This is not required and does crash with Qt 6.5.
Calling component complete on Connections is not required, since they
should not be active in the puppet anyway.

Task-number: QDS-9533
Change-Id: I686b99adb2d888b7df53e5f7da14a2e0a5d147e7
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Thomas Hartmann
2023-03-27 16:17:13 +02:00
committed by Tim Jenssen
parent 51a071dbdf
commit 8ba06e6865

View File

@@ -193,6 +193,14 @@ static bool isDelegateModel(QObject *object)
return false;
}
static bool isConnections(QObject *object)
{
if (object)
return isMetaObjectofType(object->metaObject(), "QQmlConnections");
return false;
}
// This is used in share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp
QObject *createPrimitive(const QString &typeName, int majorNumber, int minorNumber, QQmlContext *context)
{
@@ -389,7 +397,7 @@ void doComponentCompleteRecursive(QObject *object, NodeInstanceServer *nodeInsta
doComponentCompleteRecursive(child, nodeInstanceServer);
}
if (!isQuickStyleItem(object) && !isDelegateModel(object)) {
if (!isQuickStyleItem(object) && !isDelegateModel(object) && !isConnections(object)) {
if (item) {
static_cast<QQmlParserStatus *>(item)->componentComplete();
} else {