From 05ed47be2e4ff56be57c9a6b0e7a7dfbbb36358c Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Wed, 19 Feb 2025 20:58:06 -0500 Subject: [PATCH] fix: server resets to listing state with no clients connected --- src/lib/gui/core/CoreProcess.cpp | 9 ++++++++- src/lib/gui/core/CoreProcess.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/gui/core/CoreProcess.cpp b/src/lib/gui/core/CoreProcess.cpp index c4bb8ac31..c8babb669 100644 --- a/src/lib/gui/core/CoreProcess.cpp +++ b/src/lib/gui/core/CoreProcess.cpp @@ -700,14 +700,21 @@ void CoreProcess::checkLogLine(const QString &line) using enum ConnectionState; if (line.contains("connected to server") || line.contains("has connected")) { + m_connections++; setConnectionState(Connected); - } else if (line.contains("started server")) { + m_connections = 0; setConnectionState(Listening); } else if (line.contains("disconnected from server") || line.contains("process exited")) { + m_connections = 0; setConnectionState(Disconnected); } else if (line.contains("connecting to")) { setConnectionState(Connecting); + } else if (line.contains("has disconnected")) { + m_connections--; + if (m_connections < 1) { + setConnectionState(Listening); + } } checkSecureSocket(line); diff --git a/src/lib/gui/core/CoreProcess.h b/src/lib/gui/core/CoreProcess.h index 7a1db3cf5..5d33b9caa 100644 --- a/src/lib/gui/core/CoreProcess.h +++ b/src/lib/gui/core/CoreProcess.h @@ -169,6 +169,7 @@ private: QString m_secureSocketVersion = ""; std::optional m_lastProcessMode = std::nullopt; QTimer m_retryTimer; + int m_connections = 0; }; } // namespace deskflow::gui