From ca60dbfa4dce4106841f968deb639a441baad5cc Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 21 Oct 2019 23:33:39 +0200 Subject: [PATCH] [AFV] Ref T730, allow to disconnect even if socket is down --- src/blackcore/fsd/fsdclient.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/blackcore/fsd/fsdclient.cpp b/src/blackcore/fsd/fsdclient.cpp index fbf693515..a48f4acbc 100644 --- a/src/blackcore/fsd/fsdclient.cpp +++ b/src/blackcore/fsd/fsdclient.cpp @@ -222,16 +222,17 @@ namespace BlackCore void CFSDClient::disconnectFromServer() { this->stopPositionTimers(); - if (!m_socket.isOpen()) { return; } - - updateConnectionStatus(CConnectionStatus::Disconnecting); - - if (m_loginMode.isPilot()) { sendDeletePilot(); } - else if (m_loginMode.isObserver()) { sendDeleteAtc(); } + this->updateConnectionStatus(CConnectionStatus::Disconnecting); + // allow also to close if broken + if (!m_socket.isOpen()) + { + if (m_loginMode.isPilot()) { sendDeletePilot(); } + else if (m_loginMode.isObserver()) { sendDeleteAtc(); } + } m_socket.close(); - updateConnectionStatus(CConnectionStatus::Disconnected); + this->updateConnectionStatus(CConnectionStatus::Disconnected); this->clearState(); }