qmlplugindump: Fix dumping of extended QGraphicsWidget.
Change-Id: Id574b4ee98f7d985ef06619956b2c02cac68b553 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
This commit is contained in:
parent
fdd14a1a10
commit
8c82a7bade
|
@ -76,14 +76,15 @@ bool verbose = false;
|
||||||
QString currentProperty;
|
QString currentProperty;
|
||||||
QString inObjectInstantiation;
|
QString inObjectInstantiation;
|
||||||
|
|
||||||
void collectReachableMetaObjects(const QMetaObject *meta, QSet<const QMetaObject *> *metas)
|
void collectReachableMetaObjects(const QMetaObject *meta, QSet<const QMetaObject *> *metas, bool extended = false)
|
||||||
{
|
{
|
||||||
if (! meta || metas->contains(meta))
|
if (! meta || metas->contains(meta))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// dynamic meta objects break things badly, so just ignore them
|
// dynamic meta objects can break things badly (like QDeclarative1VisualDataModelParts)
|
||||||
|
// but extended types are usually fine (like QDeclarative1GraphicsWidget)
|
||||||
const QMetaObjectPrivate *mop = reinterpret_cast<const QMetaObjectPrivate *>(meta->d.data);
|
const QMetaObjectPrivate *mop = reinterpret_cast<const QMetaObjectPrivate *>(meta->d.data);
|
||||||
if (!(mop->flags & DynamicMetaObject))
|
if (extended || !(mop->flags & DynamicMetaObject))
|
||||||
metas->insert(meta);
|
metas->insert(meta);
|
||||||
|
|
||||||
collectReachableMetaObjects(meta->superClass(), metas);
|
collectReachableMetaObjects(meta->superClass(), metas);
|
||||||
|
@ -118,7 +119,7 @@ void collectReachableMetaObjects(QObject *object, QSet<const QMetaObject *> *met
|
||||||
|
|
||||||
void collectReachableMetaObjects(const QDeclarativeType *ty, QSet<const QMetaObject *> *metas)
|
void collectReachableMetaObjects(const QDeclarativeType *ty, QSet<const QMetaObject *> *metas)
|
||||||
{
|
{
|
||||||
collectReachableMetaObjects(ty->metaObject(), metas);
|
collectReachableMetaObjects(ty->metaObject(), metas, ty->isExtendedType());
|
||||||
if (ty->attachedPropertiesType())
|
if (ty->attachedPropertiesType())
|
||||||
collectReachableMetaObjects(ty->attachedPropertiesType(), metas);
|
collectReachableMetaObjects(ty->attachedPropertiesType(), metas);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue