From 083e5ec38c9edee3bb566001ba5c2efab7cbaccc Mon Sep 17 00:00:00 2001 From: Yuhang Zhao <2546789017@qq.com> Date: Wed, 13 May 2020 21:33:15 +0800 Subject: [PATCH] Minor tweaks. Signed-off-by: Yuhang Zhao <2546789017@qq.com> --- main_windows.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/main_windows.cpp b/main_windows.cpp index 1e485cd..b90cbd7 100644 --- a/main_windows.cpp +++ b/main_windows.cpp @@ -99,16 +99,21 @@ int main(int argc, char *argv[]) { QQmlApplicationEngine engine; qmlRegisterType("wangwenx190.Utils", 1, 0, "FramelessHelper"); - const QUrl url(QString::fromUtf8("qrc:///qml/main.qml")); - QObject::connect( + const QUrl mainQmlUrl(QString::fromUtf8("qrc:///qml/main.qml")); + const QMetaObject::Connection connection = QObject::connect( &engine, &QQmlApplicationEngine::objectCreated, &application, - [&url](QObject *obj, const QUrl &objUrl) { - if (!obj && (url == objUrl)) { - QCoreApplication::exit(-1); + [&mainQmlUrl, &connection](QObject *object, const QUrl &url) { + if (url != mainQmlUrl) { + return; + } + if (!object) { + QGuiApplication::exit(-1); + } else { + QObject::disconnect(connection); } }, Qt::QueuedConnection); - engine.load(url); + engine.load(mainQmlUrl); #endif return QApplication::exec();