From e8ded0847183dca1dcc0af9666b48eac25d7625d Mon Sep 17 00:00:00 2001 From: SfietKonstantin Date: Fri, 28 Apr 2017 21:34:00 +0200 Subject: [PATCH] Set a property as non-writable when there is no corresponding slot (#62) --- lib/src/DosQMetaObject.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/src/DosQMetaObject.cpp b/lib/src/DosQMetaObject.cpp index 673dd59..5926b15 100644 --- a/lib/src/DosQMetaObject.cpp +++ b/lib/src/DosQMetaObject.cpp @@ -157,10 +157,13 @@ QMetaObject *DosQMetaObject::createMetaObject(const QString &className, } for (const PropertyDefinition &property : propertyDefinitions) { + const int writer = methodIndexByName.value(property.writeSlot, -1); const int notifier = m_signalIndexByName.value(property.notifySignal, -1); const QByteArray name = property.name.toUtf8(); const QByteArray typeName = QMetaObject::normalizedType(QMetaType::typeName(property.type)); QMetaPropertyBuilder propertyBuilder = builder.addProperty(name, typeName, notifier); + if (writer == -1) + propertyBuilder.setWritable(false); if (notifier == -1) propertyBuilder.setConstant(true); m_propertySlots[property.name] = qMakePair(methodIndexByName.value(property.readSlot, -1),