summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarativepropertycache.cpp
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2011-01-05 03:57:17 (GMT)
committerMartin Jones <martin.jones@nokia.com>2011-01-05 03:57:17 (GMT)
commitffd499eb6ff64df1833625f64dbbf92e0e0746d4 (patch)
treecb1dcd382fe2e76638cf853c96cf0316cce65636 /src/declarative/qml/qdeclarativepropertycache.cpp
parent3f80a24c5d375dd173d18c2a4227301f1afba2e3 (diff)
downloadQt-ffd499eb6ff64df1833625f64dbbf92e0e0746d4.zip
Qt-ffd499eb6ff64df1833625f64dbbf92e0e0746d4.tar.gz
Qt-ffd499eb6ff64df1833625f64dbbf92e0e0746d4.tar.bz2
Support property/method versions in QML
Use metaobject revisioning to exclude properties/revisions added in later versions from interfering with earlier versions. Task-number: QTBUG-13451 Reviewed-by: Aaron Kennedy
Diffstat (limited to 'src/declarative/qml/qdeclarativepropertycache.cpp')
-rw-r--r--src/declarative/qml/qdeclarativepropertycache.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/declarative/qml/qdeclarativepropertycache.cpp b/src/declarative/qml/qdeclarativepropertycache.cpp
index dd9a224..76c9eb9 100644
--- a/src/declarative/qml/qdeclarativepropertycache.cpp
+++ b/src/declarative/qml/qdeclarativepropertycache.cpp
@@ -88,6 +88,7 @@ void QDeclarativePropertyCache::Data::load(const QMetaProperty &p, QDeclarativeE
coreIndex = p.propertyIndex();
notifyIndex = p.notifySignalIndex();
flags = flagsForProperty(p, engine);
+ revision = p.revision();
}
void QDeclarativePropertyCache::Data::load(const QMetaMethod &m)
@@ -106,6 +107,7 @@ void QDeclarativePropertyCache::Data::load(const QMetaMethod &m)
QList<QByteArray> params = m.parameterTypes();
if (!params.isEmpty())
flags |= Data::HasArguments;
+ revision = m.revision();
}
@@ -235,7 +237,6 @@ void QDeclarativePropertyCache::append(QDeclarativeEngine *engine, const QMetaOb
Data::Flag propertyFlags, Data::Flag methodFlags, Data::Flag signalFlags)
{
QDeclarativeEnginePrivate *enginePriv = QDeclarativeEnginePrivate::get(engine);
-
int methodCount = metaObject->methodCount();
// 3 to block the destroyed signal and the deleteLater() slot
int methodOffset = qMax(3, metaObject->methodOffset());