refactor: replace qFatal with qCritical

This commit is contained in:
Nick Bolton 2026-06-08 12:02:03 +01:00 committed by Chris Rizzitello
parent 687d3c7ce8
commit a0d643dd89
5 changed files with 44 additions and 27 deletions

View file

@ -8,12 +8,13 @@
#include "ScreenSetupModel.h" #include "ScreenSetupModel.h"
#include "common/Constants.h"
#include "gui/config/Screen.h"
#include <QIODevice> #include <QIODevice>
#include <QIcon> #include <QIcon>
#include <QMimeData> #include <QMimeData>
#include "gui/config/Screen.h"
const QString ScreenSetupModel::m_MimeType = "application/x-deskflow-screen"; const QString ScreenSetupModel::m_MimeType = "application/x-deskflow-screen";
ScreenSetupModel::ScreenSetupModel(ScreenList &screens, int numColumns, int numRows) ScreenSetupModel::ScreenSetupModel(ScreenList &screens, int numColumns, int numRows)
@ -22,17 +23,19 @@ ScreenSetupModel::ScreenSetupModel(ScreenList &screens, int numColumns, int numR
m_NumColumns(numColumns), m_NumColumns(numColumns),
m_NumRows(numRows) m_NumRows(numRows)
{ {
// bound the grid so that multiplying columns by rows cannot overflow.
// bound rows and columns to prevent multiply overflow. if (m_NumColumns < 1 || m_NumColumns > kMaxGridSize || m_NumRows < 1 || m_NumRows > kMaxGridSize) {
// this is unlikely to happen, as the grid size is only 3x9. qCritical("grid size out of bounds: %d columns x %d rows", m_NumColumns, m_NumRows);
if (m_NumColumns > 100 || m_NumRows > 100) { m_NumColumns = kServerGridWidth;
qFatal("grid size out of bounds: %d columns x %d rows", m_NumColumns, m_NumRows); m_NumRows = kServerGridHeight;
return;
} }
const long span = static_cast<long>(m_NumColumns) * m_NumRows; const int span = m_NumColumns * m_NumRows;
if (span > screens.size()) { if (span > m_Screens.size()) {
qFatal("scrren list (%lld) too small for %d columns x %d rows", screens.size(), m_NumColumns, m_NumRows); qCritical(
"screen list too small for grid, screens: %lld, cells: %d", static_cast<long long>(m_Screens.size()), span
);
m_Screens.resize(span);
} }
} }

View file

@ -79,9 +79,11 @@ protected:
void addScreen(const Screen &newScreen); void addScreen(const Screen &newScreen);
private: private:
static constexpr int kMaxGridSize = 100;
ScreenList &m_Screens; ScreenList &m_Screens;
const int m_NumColumns; int m_NumColumns;
const int m_NumRows; int m_NumRows;
static const QString m_MimeType; static const QString m_MimeType;
}; };

View file

@ -105,8 +105,7 @@ CoreProcess::CoreProcess(const ServerConfig &serverConfig)
{ {
m_appPath = QStringLiteral("%1/%2").arg(QCoreApplication::applicationDirPath(), kCoreBinName); m_appPath = QStringLiteral("%1/%2").arg(QCoreApplication::applicationDirPath(), kCoreBinName);
if (!QFile::exists(m_appPath)) { if (!QFile::exists(m_appPath)) {
qFatal("core server binary does not exist"); qCritical("core server binary does not exist");
return;
} }
connect(m_daemonIpcClient, &ipc::DaemonIpcClient::connected, this, &CoreProcess::daemonIpcClientConnected); connect(m_daemonIpcClient, &ipc::DaemonIpcClient::connected, this, &CoreProcess::daemonIpcClientConnected);
@ -216,7 +215,8 @@ void CoreProcess::startForegroundProcess(const QStringList &args)
using enum ProcessState; using enum ProcessState;
if (m_processState != Starting) { if (m_processState != Starting) {
qFatal("core process must be in starting state"); qCritical("not starting core desktop process, unexpected process state");
return;
} }
// only make quoted args for printing the command for convenience; so that the // only make quoted args for printing the command for convenience; so that the
@ -245,7 +245,8 @@ void CoreProcess::startForegroundProcess(const QStringList &args)
void CoreProcess::startProcessFromDaemon() void CoreProcess::startProcessFromDaemon()
{ {
if (m_processState != ProcessState::Starting) { if (m_processState != ProcessState::Starting) {
qFatal("core process must be in starting state"); qCritical("not starting core process from daemon, unexpected process state");
return;
} }
const auto configFile = Settings::settingsFile(); const auto configFile = Settings::settingsFile();
@ -271,11 +272,13 @@ void CoreProcess::startProcessFromDaemon()
void CoreProcess::stopForegroundProcess() const void CoreProcess::stopForegroundProcess() const
{ {
if (m_processState != ProcessState::Stopping) { if (m_processState != ProcessState::Stopping) {
qFatal("core process must be in stopping state"); qCritical("not stopping core desktop process, unexpected process state");
return;
} }
if (!m_process) { if (!m_process) {
qFatal("process not set, cannot stop"); qCritical("not stopping core desktop process, no process to stop");
return;
} }
qInfo("stopping core desktop process"); qInfo("stopping core desktop process");
@ -291,7 +294,8 @@ void CoreProcess::stopForegroundProcess() const
void CoreProcess::stopProcessFromDaemon() void CoreProcess::stopProcessFromDaemon()
{ {
if (m_processState != ProcessState::Stopping) { if (m_processState != ProcessState::Stopping) {
qFatal("core process must be in stopping state"); qCritical("not stopping core process from daemon, unexpected process state");
return;
} }
auto sendStop = [this] { auto sendStop = [this] {
@ -348,12 +352,12 @@ void CoreProcess::handleLogLines(const QString &text)
void CoreProcess::start(std::optional<ProcessMode> processModeOption) void CoreProcess::start(std::optional<ProcessMode> processModeOption)
{ {
if (m_processState == ProcessState::Started) { if (m_processState == ProcessState::Started) {
qCritical("core process already started"); qCritical("not starting core process, already started");
return; return;
} }
if (m_mode == Settings::CoreMode::None) { if (m_mode == Settings::CoreMode::None) {
qFatal("set core mode before starting"); qCritical("not starting core process, no core mode set");
return; return;
} }
@ -391,7 +395,10 @@ void CoreProcess::start(std::optional<ProcessMode> processModeOption)
if (m_mode == Settings::CoreMode::Server) { if (m_mode == Settings::CoreMode::Server) {
const auto [hasNeededPermissions, configFilename] = persistServerConfig(); const auto [hasNeededPermissions, configFilename] = persistServerConfig();
if (configFilename.isEmpty()) { if (configFilename.isEmpty()) {
qFatal("config file name empty for server args"); qCritical("not starting core process, no server config file");
setProcessState(ProcessState::Stopped);
setConnectionState(ConnectionState::Disconnected);
Q_EMIT error(Error::StartFailed);
return; return;
} }
if (!hasNeededPermissions) { if (!hasNeededPermissions) {
@ -654,7 +661,8 @@ void CoreProcess::clearSettings()
} }
if (processMode != ProcessMode::Service) { if (processMode != ProcessMode::Service) {
qFatal("invalid process mode"); qCritical("not clearing core settings, unexpected process mode");
return;
} }
qInfo("clearing core settings through daemon"); qInfo("clearing core settings through daemon");

View file

@ -351,7 +351,8 @@ bool SettingsDialog::isClientMode() const
void SettingsDialog::updateKeyLengthOnFile(const QString &path) void SettingsDialog::updateKeyLengthOnFile(const QString &path)
{ {
if (!QFile(path).exists()) { if (!QFile(path).exists()) {
qFatal("tls certificate file not found: %s", qUtf8Printable(path)); qCritical("tls certificate file not found: %s", qUtf8Printable(path));
return;
} }
auto length = TlsUtility::getCertKeyLength(path); auto length = TlsUtility::getCertKeyLength(path);

View file

@ -21,7 +21,7 @@ LineEditValidator::LineEditValidator(QLineEdit *lineEdit, ValidationError *error
{ {
if (!m_pLineEdit) { if (!m_pLineEdit) {
qFatal("validator line edit not set"); qCritical("validator line edit not set");
} }
} }
@ -32,7 +32,10 @@ void LineEditValidator::addValidator(std::unique_ptr<IStringValidator> validator
QValidator::State LineEditValidator::validate(QString &input, int &) const QValidator::State LineEditValidator::validate(QString &input, int &) const
{ {
assert(m_pLineEdit); if (!m_pLineEdit) {
qCritical("cannot validate input, no line edit set");
return Intermediate;
}
QString errorMessage; QString errorMessage;
for (const auto &validator : m_Validators) { for (const auto &validator : m_Validators) {