From c2602e9ae4f94485a275d684d91f0cf1e0d801d2 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Wed, 9 Jun 2010 14:24:23 +0200 Subject: QmlJS: Make qmldump not dump open/dynamic meta objects. They would need special treatment, like the Qml extended objects. The issue is they lead to two meta objects with the same classname and the dumper can't handle that. (cherry picked from commit 206c190e7ff3e7dfd59341fa99207c0d1bff0dd7) (cherry picked from commit 033def369cb0bda5ce134b7dabe97465596ed3e1) --- src/tools/qml/qmldump/main.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/tools/qml/qmldump/main.cpp b/src/tools/qml/qmldump/main.cpp index 525ccd8335..4dcdb0156c 100644 --- a/src/tools/qml/qmldump/main.cpp +++ b/src/tools/qml/qmldump/main.cpp @@ -9,7 +9,10 @@ #include #include #include +#include +#include #include +#include #include static QHash qmlTypeByCppName; @@ -46,7 +49,11 @@ void processMetaObject(const QMetaObject *meta, QSet *metas if (! meta || metas->contains(meta)) return; - metas->insert(meta); + // dynamic meta objects break things badly + const QMetaObjectPrivate *mop = reinterpret_cast(meta->d.data); + if (!(mop->flags & DynamicMetaObject)) + metas->insert(meta); + processMetaObject(meta->superClass(), metas); } -- cgit v1.2.1