Merge remote-tracking branch 'origin/2.4'

This commit is contained in:
Eike Ziller
2011-10-10 15:29:31 +02:00
62 changed files with 26 additions and 12504 deletions

View File

@@ -659,10 +659,13 @@ static void buildContextProperties(
typeScope = scope; // incorrect but may be an ok fallback
ClassOrNamespace *binding = typeOf.context().lookupType(namedType->name(), typeScope);
if (binding && !binding->symbols().isEmpty()) {
Class *klass = binding->symbols().first()->asClass();
if (klass) {
FakeMetaObject::Ptr fmo = buildFakeMetaObject(klass, fakeMetaObjects, typeOf);
typeName = fmo->className();
// find the best 'Class' symbol
for (int i = binding->symbols().size() - 1; i >= 0; --i) {
if (Class *klass = binding->symbols().at(i)->asClass()) {
FakeMetaObject::Ptr fmo = buildFakeMetaObject(klass, fakeMetaObjects, typeOf);
typeName = fmo->className();
break;
}
}
}
}