From a1f70b965ad9f2bec60eeddbcf631432db8b2e70 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 19 May 2015 16:54:38 +0200 Subject: [PATCH] QmlPuppet: Adding objectWasDeleted to QmlPrivateGate Change-Id: I5dadc879f0c6a02ca29c35fff1847b3c7b0a0972 Reviewed-by: Tim Jenssen --- .../qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp | 2 +- .../qml/qmlpuppet/qmlprivategate/qmlprivategate.cpp | 8 ++++++++ .../qml/qmlpuppet/qmlprivategate/qmlprivategate.h | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp index ce10540dbf6..39c20573488 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp @@ -714,7 +714,7 @@ QObject *ObjectNodeInstance::createCustomParserObject(const QString &nodeSource, QObject *ObjectNodeInstance::object() const { - if (!m_object.isNull() && !QObjectPrivate::get(m_object.data())->wasDeleted) + if (!m_object.isNull() && !QmlPrivateGate::objectWasDeleted(m_object.data())) return m_object.data(); return 0; } diff --git a/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate.cpp b/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate.cpp index d9b5d213cc7..2784c41a4c3 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate.cpp @@ -40,9 +40,11 @@ #include #include +#include #include #include #include + #include namespace QmlDesigner { @@ -515,6 +517,12 @@ void keepBindingFromGettingDeleted(QObject *object, QQmlContext *context, const DesignerCustomObjectData::keepBindingFromGettingDeleted(object, context, propertyName); } +bool objectWasDeleted(QObject *object) +{ + return QObjectPrivate::get(object)->wasDeleted; +} + + ComponentCompleteDisabler::ComponentCompleteDisabler() { DesignerSupport::disableComponentComplete(); diff --git a/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate.h b/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate.h index 7b1dd36e7ac..6347152cb66 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate.h +++ b/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate.h @@ -92,6 +92,8 @@ public: void doComponentCompleteRecursive(QObject *object, NodeInstanceServer *nodeInstanceServer); + bool objectWasDeleted(QObject *object); + } // namespace QmlPrivateGate } // namespace Internal } // namespace QmlDesigner