diff --git a/src/main.cpp b/src/main.cpp index 38b994d..0d229e6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include @@ -45,6 +46,11 @@ int main(int argc, char *argv[]) VaultIndex vaultIndex; QQmlApplicationEngine engine; + QObject::connect(&engine, &QQmlApplicationEngine::warnings, + [](const QList &list) { + for (const QQmlError &e : list) + qWarning("QML: %s", qPrintable(e.toString())); + }); engine.rootContext()->setContextProperty("settingsStore", &settingsStore); engine.rootContext()->setContextProperty("gitManager", &gitManager); engine.rootContext()->setContextProperty("syncManager", &syncManager); @@ -61,8 +67,12 @@ int main(int argc, char *argv[]) // откроется мастер первого запуска. windowController.openWindow(settingsStore.currentVault()); - if (engine.rootObjects().isEmpty()) + // Окна создаются через QQmlComponent (WindowController), поэтому проверяем + // количество окон, а не engine.rootObjects() (для таких объектов он пуст). + if (windowController.windowCount() == 0) { + qWarning("=== Не удалось создать окно приложения ==="); return -1; + } return app.exec(); } \ No newline at end of file