From d426f7d00264a27e704f8206831f240f54c858f4 Mon Sep 17 00:00:00 2001 From: Burak Hancerli <burak.hancerli@qt.io> Date: Wed, 30 Oct 2024 18:24:31 +0100 Subject: [PATCH] fix: cannot send stop signal properly and settings path may not exist --- src/backend/backend.cpp | 11 ++++++++++- src/backend/settings.cpp | 8 ++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/backend/backend.cpp b/src/backend/backend.cpp index cd9ccce..7a33911 100644 --- a/src/backend/backend.cpp +++ b/src/backend/backend.cpp @@ -197,11 +197,20 @@ void Backend::runProject(const QString &id, const QByteArray &projectData) Qt::QueuedConnection, Q_ARG(QString, id)); + bool retVal; QMetaObject::invokeMethod(m_projectManager.get(), "runProject", Qt::QueuedConnection, Q_ARG(QByteArray, projectData), - Q_ARG(bool, autoScaleProject())); + Q_ARG(bool, autoScaleProject()), + Q_RETURN_ARG(bool, retVal)); + + if (!retVal) { + QMetaObject::invokeMethod(m_dsManager.get(), + "sendProjectStopped", + Qt::QueuedConnection, + Q_ARG(QString, id)); + } emit popupClose(); } diff --git a/src/backend/settings.cpp b/src/backend/settings.cpp index 0ff2f5b..b192fc7 100644 --- a/src/backend/settings.cpp +++ b/src/backend/settings.cpp @@ -3,6 +3,7 @@ #include "settings.h" +#include <QDir> #include <QFile> #include <QJsonDocument> #include <QStandardPaths> @@ -20,6 +21,13 @@ Settings::Settings() QStandardPaths::writableLocation(QStandardPaths::ConfigLocation).append("/settings.json")) { qDebug() << "Settings path:" << m_settingsPath; + const QDir dir(QStandardPaths::writableLocation(QStandardPaths::ConfigLocation)); + + if (!dir.exists()) { + qWarning() << "Settings directory does not exist. Creating one."; + dir.mkpath(QStandardPaths::writableLocation(QStandardPaths::ConfigLocation)); + } + if (!loadSettings()) { qDebug() << "Failed to load settings. Applying default ones."; applyDefaultSettings(); -- GitLab