QmlJS: Fix threading issue in QmlObjectValue.

Still need to get rid of the lock in ValueOwner::registerValue.

Change-Id: If9bbc548de54edf52805906aaaf730f5c66573dd
Reviewed-on: http://codereview.qt-project.org/5542
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
This commit is contained in:
Christian Kamm
2011-09-26 15:07:12 +02:00
parent 5daf6705ac
commit c7d8462bf8
3 changed files with 16 additions and 15 deletions

View File

@@ -449,8 +449,6 @@ public:
LanguageUtils::FakeMetaEnum getEnum(const QString &typeName, const QmlObjectValue **foundInScope = 0) const;
const QmlEnumValue *getEnumValue(const QString &typeName, const QmlObjectValue **foundInScope = 0) const;
protected:
const Value *findOrCreateSignature(int index, const LanguageUtils::FakeMetaMethod &method,
QString *methodName) const;
bool isDerivedFrom(LanguageUtils::FakeMetaObject::ConstPtr base) const;
private:
@@ -462,7 +460,7 @@ private:
// needed in cases when B 1.0 has A 1.1 as prototype when imported as 1.1
const LanguageUtils::ComponentVersion _componentVersion;
const LanguageUtils::ComponentVersion _importVersion;
mutable QHash<int, const Value *> _metaSignature;
mutable QAtomicPointer< QList<const Value *> > _metaSignatures;
QHash<QString, const QmlEnumValue * > _enums;
int _metaObjectRevision;
};