diff options
-rw-r--r-- | src/abaddon.cpp | 4 | ||||
-rw-r--r-- | src/discord/discord.cpp | 8 | ||||
-rw-r--r-- | src/discord/discord.hpp | 2 |
3 files changed, 10 insertions, 4 deletions
diff --git a/src/abaddon.cpp b/src/abaddon.cpp index 9b256ea..2733a04 100644 --- a/src/abaddon.cpp +++ b/src/abaddon.cpp @@ -274,8 +274,8 @@ void Abaddon::StartDiscord() { } void Abaddon::StopDiscord() { - m_discord.Stop(); - SaveState(); + if (m_discord.Stop()) + SaveState(); m_main_window->UpdateMenus(); } diff --git a/src/discord/discord.cpp b/src/discord/discord.cpp index c3961b5..317994c 100644 --- a/src/discord/discord.cpp +++ b/src/discord/discord.cpp @@ -41,7 +41,7 @@ void DiscordClient::Start() { m_websocket.StartConnection(GetGatewayURL()); } -void DiscordClient::Stop() { +bool DiscordClient::Stop() { if (m_client_started) { inflateEnd(&m_zstream); m_compressed_buf.clear(); @@ -55,9 +55,15 @@ void DiscordClient::Stop() { m_guild_to_users.clear(); m_websocket.Stop(); + + m_client_started = false; + + return true; } m_client_started = false; + + return false; } bool DiscordClient::IsStarted() const { diff --git a/src/discord/discord.hpp b/src/discord/discord.hpp index 1c09fc1..6310296 100644 --- a/src/discord/discord.hpp +++ b/src/discord/discord.hpp @@ -49,7 +49,7 @@ class DiscordClient { public: DiscordClient(bool mem_store = false); void Start(); - void Stop(); + bool Stop(); bool IsStarted() const; bool IsStoreValid() const; |