qmlplugindump: don't crash if a composite type was a registered

This doesn't actually result in putting any information about the
composite type into the output, though.

Change-Id: I160702578f0acd22eff98e8afa288b3c9fb20076
Reviewed-by: Alan Alpert <aalpert@rim.com>
This commit is contained in:
Shawn Rutledge 2013-02-13 17:42:56 +01:00 committed by The Qt Project
parent 4d3a64c5e6
commit d0491c87a9
1 changed files with 6 additions and 4 deletions

View File

@ -184,11 +184,13 @@ QSet<const QMetaObject *> collectReachableMetaObjects(QQmlEngine *engine, const
QHash<QByteArray, QSet<QByteArray> > extensions; QHash<QByteArray, QSet<QByteArray> > extensions;
foreach (const QQmlType *ty, QQmlMetaType::qmlTypes()) { foreach (const QQmlType *ty, QQmlMetaType::qmlTypes()) {
qmlTypesByCppName[ty->metaObject()->className()].insert(ty); if (!ty->isComposite()) {
if (ty->isExtendedType()) { qmlTypesByCppName[ty->metaObject()->className()].insert(ty);
extensions[ty->typeName()].insert(ty->metaObject()->className()); if (ty->isExtendedType())
extensions[ty->typeName()].insert(ty->metaObject()->className());
collectReachableMetaObjects(ty, &metas);
} }
collectReachableMetaObjects(ty, &metas); // TODO actually handle composite types
} }
// Adjust exports of the base object if there are extensions. // Adjust exports of the base object if there are extensions.