diff options
author | Dominik Holland <dominik.holland@pelagicore.com> | 2018-03-29 11:52:55 +0200 |
---|---|---|
committer | Robert Griebl <robert.griebl@pelagicore.com> | 2018-04-04 14:42:47 +0000 |
commit | b1ed6ad9c7335a03127b322c0cd58473d58900e6 (patch) | |
tree | 8d64b378275fd1c11b848d9e161f20c5e682e8c4 | |
parent | c0675368828969f3bfb5509f49a7c5368f0b8af3 (diff) |
Disconnect the quit and exit signals of the QQmlApplicationEngine5.10
Without this a call of Qt.quit() directly quits appman without waiting
for all applications to be stopped.
Change-Id: Ic64ee23a05fab829d507d59cc184e20cbcb4edf0
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
-rw-r--r-- | src/launchers/qml/main.cpp | 1 | ||||
-rw-r--r-- | src/main-lib/main.cpp | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/launchers/qml/main.cpp b/src/launchers/qml/main.cpp index 41c9dea2..b03568f8 100644 --- a/src/launchers/qml/main.cpp +++ b/src/launchers/qml/main.cpp @@ -214,7 +214,6 @@ Controller::Controller(LauncherMain *a, bool quickLaunched, const QString &direc , m_quickLaunched(quickLaunched) { connect(&m_engine, &QObject::destroyed, a, &QCoreApplication::quit); - connect(&m_engine, &QQmlEngine::quit, a, &QCoreApplication::quit); #if !defined(AM_HEADLESS) qmlRegisterType<ApplicationManagerWindow>("QtApplicationManager", 1, 0, "ApplicationManagerWindow"); diff --git a/src/main-lib/main.cpp b/src/main-lib/main.cpp index 707b6986..442a1f5a 100644 --- a/src/main-lib/main.cpp +++ b/src/main-lib/main.cpp @@ -555,7 +555,10 @@ void Main::setupQmlEngine(const QStringList &importPaths, const QString &quickCo StartupTimer::instance()->checkpoint("after QML registrations"); m_engine = new QQmlApplicationEngine(this); + disconnect(m_engine, &QQmlEngine::quit, qApp, nullptr); + disconnect(m_engine, &QQmlEngine::exit, qApp, nullptr); connect(m_engine, &QQmlEngine::quit, this, [this]() { shutDown(); }); + connect(m_engine, &QQmlEngine::exit, this, [this](int retCode) { shutDown(retCode); }); new QmlLogger(m_engine); m_engine->setOutputWarningsToStandardError(false); m_engine->setImportPathList(m_engine->importPathList() + importPaths); |