Исправление запуска: main проверял engine.rootObjects() (пуст для окон из QQmlComponent) и мгновенно выходил — теперь windowController.windowCount(); самодостаточная сборка Flowera.app (macdeployqt -qmlimport=/-qmldir)
This commit is contained in:
+11
-1
@@ -1,5 +1,6 @@
|
||||
#include <QGuiApplication>
|
||||
#include <QQmlApplicationEngine>
|
||||
#include <QQmlError>
|
||||
#include <QQmlContext>
|
||||
#include <QCommandLineParser>
|
||||
|
||||
@@ -45,6 +46,11 @@ int main(int argc, char *argv[])
|
||||
VaultIndex vaultIndex;
|
||||
|
||||
QQmlApplicationEngine engine;
|
||||
QObject::connect(&engine, &QQmlApplicationEngine::warnings,
|
||||
[](const QList<QQmlError> &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();
|
||||
}
|
||||
Reference in New Issue
Block a user