aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickvisualdatamodel_p_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickvisualdatamodel_p_p.h')
-rw-r--r--src/quick/items/qquickvisualdatamodel_p_p.h20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/quick/items/qquickvisualdatamodel_p_p.h b/src/quick/items/qquickvisualdatamodel_p_p.h
index ad5aa5ed62..dc730c6105 100644
--- a/src/quick/items/qquickvisualdatamodel_p_p.h
+++ b/src/quick/items/qquickvisualdatamodel_p_p.h
@@ -66,6 +66,8 @@ QT_BEGIN_NAMESPACE
typedef QQuickListCompositor Compositor;
+class QQuickVisualDataModelAttachedMetaObject;
+
class QQuickVisualDataModelItemMetaType : public QQmlRefCount
{
public:
@@ -92,10 +94,8 @@ public:
QQmlGuard<QQuickVisualDataModel> model;
const int groupCount;
- const int memberPropertyOffset;
- const int indexPropertyOffset;
QV8Engine * const v8Engine;
- QMetaObject *metaObject;
+ QQuickVisualDataModelAttachedMetaObject *metaObject;
const QStringList groupNames;
v8::Persistent<v8::ObjectTemplate> constructor;
};
@@ -151,7 +151,6 @@ public:
QVDMIncubationTask *incubationTask;
v8::Persistent<v8::Object> indexHandle;
v8::Persistent<v8::Value> modelHandle;
- QIntrusiveListNode cacheNode;
int objectRef;
int scriptRef;
int groups;
@@ -389,18 +388,21 @@ public:
QList<QQuickVisualPartsModel *> models;
};
-class QQuickVisualDataModelAttachedMetaObject : public QAbstractDynamicMetaObject
+class QQuickVisualDataModelAttachedMetaObject : public QAbstractDynamicMetaObject, public QQmlRefCount
{
public:
QQuickVisualDataModelAttachedMetaObject(
- QQuickVisualDataModelAttached *attached, QQuickVisualDataModelItemMetaType *metaType);
+ QQuickVisualDataModelItemMetaType *metaType, QMetaObject *metaObject);
~QQuickVisualDataModelAttachedMetaObject();
- int metaCall(QMetaObject::Call, int _id, void **);
+ void objectDestroyed(QObject *);
+ int metaCall(QObject *, QMetaObject::Call, int _id, void **);
private:
- QQuickVisualDataModelAttached *attached;
- QQuickVisualDataModelItemMetaType *metaType;
+ QQuickVisualDataModelItemMetaType * const metaType;
+ QMetaObject * const metaObject;
+ const int memberPropertyOffset;
+ const int indexPropertyOffset;
};
QT_END_NAMESPACE