From d43333cd1e83d72c0db5b39d9f0eb00d93fdb934 Mon Sep 17 00:00:00 2001 From: Marco Benelli Date: Thu, 23 Jul 2015 10:39:25 +0200 Subject: [PATCH] Warn if a composite type is not ready and continue. Change-Id: Ib28f484188466831e4c64aee0e36a27dd4842b06 Reviewed-by: Thomas Hartmann --- tools/qmlplugindump/main.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/qmlplugindump/main.cpp b/tools/qmlplugindump/main.cpp index 96c23ae26..6248d3dc6 100644 --- a/tools/qmlplugindump/main.cpp +++ b/tools/qmlplugindump/main.cpp @@ -461,6 +461,12 @@ public: void dumpComposite(QQmlEngine *engine, const QQmlType *compositeType, QSet &defaultReachableNames) { QQmlComponent e(engine, compositeType->sourceUrl()); + if (!e.isReady()) { + std::cerr << "WARNING: skipping module " << compositeType->elementName().toStdString() + << std::endl << e.errorString().toStdString() << std::endl; + return; + } + QObject *object = e.create(); if (!object) @@ -899,6 +905,7 @@ void printDebugMessage(QtMsgType, const QMessageLogContext &, const QString &msg // In case of QtFatalMsg the calling code will abort() when appropriate. } + int main(int argc, char *argv[]) { #if defined(Q_OS_WIN) && !defined(Q_CC_MINGW) @@ -1039,6 +1046,7 @@ int main(int argc, char *argv[]) if (calculateDependencies) getDependencies(engine, pluginImportUri, pluginImportVersion, &dependencies); compactDependencies(&dependencies); + // load the QtQml 2.2 builtins and the dependencies { QByteArray code("import QtQml 2.2"); -- 2.34.1