diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp index 2f715eec9a9314d3e8bbdc39fc120b0dbaa9e8e9..ececc9b722ad68330cd9be537411c465299faa46 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp @@ -53,6 +53,32 @@ #include <private/qquickanimation_p.h> #include <private/qqmltimer_p.h> #include <private/qqmlengine_p.h> +#include <designersupport.h> + + +namespace { +class ComponentCompleteDisabler +{ +public: +#if (QT_VERSION >= QT_VERSION_CHECK(5, 1, 0)) + ComponentCompleteDisabler() + { + DesignerSupport::disableComponentComplete(); + } + + ~ComponentCompleteDisabler() + { + DesignerSupport::enableComponentComplete(); + } +#else + ComponentCompleteDisabler() + { + //nothing not available yet + } +#endif +}; + +} //namespace static bool isPropertyBlackListed(const QmlDesigner::PropertyName &propertyName) { @@ -894,6 +920,10 @@ void tweakObjects(QObject *object) QObject *ObjectNodeInstance::createComponentWrap(const QString &nodeSource, const QStringList &imports, QQmlContext *context) { + ComponentCompleteDisabler disableComponentComplete; + + Q_UNUSED(disableComponentComplete) + QQmlComponent *component = new QQmlComponent(context->engine()); QByteArray importArray; @@ -949,6 +979,10 @@ static inline QString fixComponentPathForIncompatibleQt(const QString &component QObject *ObjectNodeInstance::createComponent(const QString &componentPath, QQmlContext *context) { + ComponentCompleteDisabler disableComponentComplete; + + Q_UNUSED(disableComponentComplete) + QQmlComponent component(context->engine(), fixComponentPathForIncompatibleQt(componentPath)); QObject *object = component.beginCreate(context); @@ -968,6 +1002,10 @@ QObject *ObjectNodeInstance::createComponent(const QString &componentPath, QQmlC QObject *ObjectNodeInstance::createCustomParserObject(const QString &nodeSource, const QStringList &imports, QQmlContext *context) { + ComponentCompleteDisabler disableComponentComplete; + + Q_UNUSED(disableComponentComplete) + QQmlComponent component(context->engine()); QByteArray importArray;