QmlPuppet: Adding objectWasDeleted to QmlPrivateGate

Change-Id: I5dadc879f0c6a02ca29c35fff1847b3c7b0a0972
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
Thomas Hartmann
2015-05-19 16:54:38 +02:00
committed by Thomas Hartmann
parent f3abe73956
commit a1f70b965a
3 changed files with 11 additions and 1 deletions

View File

@@ -714,7 +714,7 @@ QObject *ObjectNodeInstance::createCustomParserObject(const QString &nodeSource,
QObject *ObjectNodeInstance::object() const 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 m_object.data();
return 0; return 0;
} }

View File

@@ -40,9 +40,11 @@
#include <QQmlComponent> #include <QQmlComponent>
#include <QFileInfo> #include <QFileInfo>
#include <private/qobject_p.h>
#include <private/qquicktransition_p.h> #include <private/qquicktransition_p.h>
#include <private/qquickanimation_p.h> #include <private/qquickanimation_p.h>
#include <private/qqmltimer_p.h> #include <private/qqmltimer_p.h>
#include <designersupport.h> #include <designersupport.h>
namespace QmlDesigner { namespace QmlDesigner {
@@ -515,6 +517,12 @@ void keepBindingFromGettingDeleted(QObject *object, QQmlContext *context, const
DesignerCustomObjectData::keepBindingFromGettingDeleted(object, context, propertyName); DesignerCustomObjectData::keepBindingFromGettingDeleted(object, context, propertyName);
} }
bool objectWasDeleted(QObject *object)
{
return QObjectPrivate::get(object)->wasDeleted;
}
ComponentCompleteDisabler::ComponentCompleteDisabler() ComponentCompleteDisabler::ComponentCompleteDisabler()
{ {
DesignerSupport::disableComponentComplete(); DesignerSupport::disableComponentComplete();

View File

@@ -92,6 +92,8 @@ public:
void doComponentCompleteRecursive(QObject *object, NodeInstanceServer *nodeInstanceServer); void doComponentCompleteRecursive(QObject *object, NodeInstanceServer *nodeInstanceServer);
bool objectWasDeleted(QObject *object);
} // namespace QmlPrivateGate } // namespace QmlPrivateGate
} // namespace Internal } // namespace Internal
} // namespace QmlDesigner } // namespace QmlDesigner