summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/abaddon.cpp4
-rw-r--r--src/discord/discord.cpp8
-rw-r--r--src/discord/discord.hpp2
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;