aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2023-01-03 15:02:03 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-01-04 13:05:14 +0000
commit50e3d2a10fd7ada7b3ecaec19758f116beb10cf0 (patch)
tree4013a72f59674c4c6fc4a179e705b7427fffc138 /tools
parente7bfadb7860deed99ea15f87fdbb3936704c1008 (diff)
qmlplugindump: Don't crash on value types with extensions
We have some internal value types without their own base metaobjects, but with extensions. qmlplugindump is not designed to handle those. Skip them. Fixes: QTBUG-109562 Change-Id: I3c4925790ac905077e6ea07724c898b32dd6e59a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit a933e28bd67e29d073ad76312a44e0a89f1db301) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tools')
-rw-r--r--tools/qmlplugindump/main.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/qmlplugindump/main.cpp b/tools/qmlplugindump/main.cpp
index 81245232b7..eeb8c6cde3 100644
--- a/tools/qmlplugindump/main.cpp
+++ b/tools/qmlplugindump/main.cpp
@@ -236,7 +236,8 @@ QSet<const QMetaObject *> collectReachableMetaObjects(QQmlEngine *engine,
if (ty.isSingleton())
singletons.insert(ty.baseMetaObject());
if (!ty.isComposite()) {
- qmlTypesByCppName[ty.baseMetaObject()->className()].insert(ty);
+ if (const QMetaObject *mo = ty.baseMetaObject())
+ qmlTypesByCppName[mo->className()].insert(ty);
collectReachableMetaObjects(QQmlEnginePrivate::get(engine), ty, &metas, info);
} else {
compositeTypes[ty.elementName()].append(ty);