diff -r ef0373b55136 -r 758a864f9613 src/declarative/util/qdeclarativeopenmetaobject.cpp --- a/src/declarative/util/qdeclarativeopenmetaobject.cpp Fri Sep 17 08:34:18 2010 +0300 +++ b/src/declarative/util/qdeclarativeopenmetaobject.cpp Mon Oct 04 01:19:32 2010 +0300 @@ -161,6 +161,12 @@ prop.second = true; } + inline bool hasData(int idx) const { + if (idx >= data.count()) + return false; + return data[idx].second; + } + bool autoCreate; QDeclarativeOpenMetaObject *q; QAbstractDynamicMetaObject *parent; @@ -295,6 +301,12 @@ activate(d->object, id + d->type->d->signalOffset, 0); } +// returns true if this value has been initialized by a call to either value() or setValue() +bool QDeclarativeOpenMetaObject::hasValue(int id) const +{ + return d->hasData(id); +} + void QDeclarativeOpenMetaObject::setCached(bool c) { if (c == d->cacheProperties || !d->type->d->engine)