From 065b84a0eb92a9e3ee1a67903abff36af6b5c704 Mon Sep 17 00:00:00 2001 From: Andy <xandyx@riseup.net> Date: Mon, 27 Mar 2023 19:01:40 +0200 Subject: [PATCH] Prevent crash on some QML errors --- src/main.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 34f8099..549d006 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -43,6 +43,8 @@ static QObject *createAppInstance(QQmlEngine *qmlEngine, QJSEngine *jsEngine) int Q_DECL_EXPORT main(int argc, char *argv[]) { + qputenv("QT_LOGGING_RULES", "qt.qml.connections=false"); + QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication app(argc, argv); QGuiApplication::setOrganizationName(QStringLiteral("UnknownDeveloper")); @@ -95,8 +97,12 @@ int Q_DECL_EXPORT main(int argc, char *argv[]) Qt::QueuedConnection); QObject::connect(&engine, &QQmlApplicationEngine::warnings, &engine, [](const QList< QQmlError > &warnings) noexcept { for (const auto &warning : warnings) { - qCritical() << "QML Warning:" << warning.url() << ":" << warning.line() << warning.toString(); - if (warning.toString().endsWith(QStringLiteral("svg"))) { + const auto &warningStr = warning.toString(); + qCritical() << "QML Warning:" << warning.url() << ":" << warning.line() << warningStr; + if (warningStr.endsWith(QLatin1String("svg"))) { + return; + } + if (warningStr.contains(QLatin1String("Binding loop detected"))) { return; } } -- GitLab