QQmlPropertyData local;
QQmlPropertyData *property =
- QQmlPropertyCache::property(engine, obj, pathName, context, local);
+ QQmlPropertyCache::property(engine, currentObject, pathName, context, local);
if (!property) return; // Not a property
if (property->isFunction())
class MyQmlObject : public QObject
{
Q_OBJECT
+ Q_PROPERTY(QPoint pointProperty MEMBER m_point)
public:
MyQmlObject(QObject *parent = 0) : QObject(parent) {}
+
+private:
+ QPoint m_point;
};
QML_DECLARE_TYPE(MyQmlObject);
void assignEmptyVariantMap();
void warnOnInvalidBinding();
void registeredCompositeTypeProperty();
+ void deeplyNestedObject();
void copy();
private:
delete obj;
}
+void tst_qqmlproperty::deeplyNestedObject()
+{
+ PropertyObject o;
+ QQmlProperty p(&o, "qmlObject.pointProperty.x");
+ QCOMPARE(p.isValid(), true);
+
+ p.write(14);
+ QCOMPARE(p.read(), QVariant(14));
+}
+
void tst_qqmlproperty::initTestCase()
{
QQmlDataTest::initTestCase();