diff --git a/src/tools/qml2puppet/qml2puppet/qmlbase.h b/src/tools/qml2puppet/qml2puppet/qmlbase.h index 9bc41bef752..63a64f0147b 100644 --- a/src/tools/qml2puppet/qml2puppet/qmlbase.h +++ b/src/tools/qml2puppet/qml2puppet/qmlbase.h @@ -41,18 +41,22 @@ public: , m_args({argc, argv}) { m_argParser.setApplicationDescription("QML Runtime Provider for QDS"); - m_argParser.addOptions( - {{"qml-puppet", "Run QML Puppet (default)"}, - {"qml-runtime", "Run QML Runtime"}, - {"appinfo", "Print build information"}, - {"test", "Run test mode"} - }); + m_argParser.addOptions({{"qml-puppet", "Run QML Puppet (default)"}, + {"qml-runtime", "Run QML Runtime"}, + {"appinfo", "Print build information"}, + {"test", "Run test mode"}}); } int run() { populateParser(); initCoreApp(); + + if (!m_coreApp) { //default to QGuiApplication + createCoreApp(); + qWarning() << "CoreApp is not initialized! Falling back to QGuiApplication!"; + } + initParser(); initQmlRunner(); return m_coreApp->exec(); @@ -89,11 +93,6 @@ private: QCommandLineOption optHelp = m_argParser.addHelpOption(); QCommandLineOption optVers = m_argParser.addVersionOption(); - if (!m_coreApp) { - qCritical() << "Cannot initialize coreapp!"; - m_argParser.showHelp(); - } - if (!m_argParser.parse(m_coreApp->arguments())) { std::cout << "Error: " << m_argParser.errorText().toStdString() << std::endl << std::endl; diff --git a/src/tools/qml2puppet/qml2puppet/runner/qmlruntime.cpp b/src/tools/qml2puppet/qml2puppet/runner/qmlruntime.cpp index e3e962483f8..ed20c1a9d55 100644 --- a/src/tools/qml2puppet/qml2puppet/runner/qmlruntime.cpp +++ b/src/tools/qml2puppet/qml2puppet/runner/qmlruntime.cpp @@ -241,7 +241,8 @@ void QmlRuntime::initQmlRunner() loadConf(confFile, !m_verboseMode); // Load files - QScopedPointer lw(new LoadWatcher(m_qmlEngine.data(), files.size(), m_conf.data())); + LoadWatcher *lw = new LoadWatcher(m_qmlEngine.data(), files.size(), m_conf.data()); + lw->setParent(this); for (const QString &path : std::as_const(files)) { QUrl url = QUrl::fromUserInput(path, QDir::currentPath(), QUrl::AssumeLocalFile);