diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-12-28 22:38:48 -0500 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-12-28 22:38:48 -0500 |
commit | 862079c4925a2511b9b8065b73785d7646f84b51 (patch) | |
tree | 535bdce7dceb2d67f6fe1e0e8ac64a460868860e | |
parent | 1bb749687b92fa7fbccb77ee18654210a647a1f3 (diff) | |
parent | 15d94ba4ae53863df04e8200e04dcf65db0c0396 (diff) | |
download | abaddon-portaudio-862079c4925a2511b9b8065b73785d7646f84b51.tar.gz abaddon-portaudio-862079c4925a2511b9b8065b73785d7646f84b51.zip |
Merge branch 'master' into classic-channels
-rw-r--r-- | src/discord/discord.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/discord/discord.cpp b/src/discord/discord.cpp index ac7e2f2..607fce3 100644 --- a/src/discord/discord.cpp +++ b/src/discord/discord.cpp @@ -24,14 +24,16 @@ DiscordClient::DiscordClient(bool mem_store) m_websocket.signal_close().connect(sigc::mem_fun(*this, &DiscordClient::HandleSocketClose)); #ifdef WITH_VOICE + // hack: tracking signal objects instead of ensuring m_voice doesnt emit during destruction m_voice.signal_connected().connect(sigc::mem_fun(*this, &DiscordClient::OnVoiceConnected)); - m_voice.signal_disconnected().connect(sigc::mem_fun(*this, &DiscordClient::OnVoiceDisconnected)); + m_voice.signal_disconnected().connect(sigc::track_obj(sigc::mem_fun(*this, &DiscordClient::OnVoiceDisconnected), m_signal_voice_disconnected)); m_voice.signal_speaking().connect([this](const VoiceSpeakingData &data) { m_signal_voice_speaking.emit(data); }); - m_voice.signal_state_update().connect([this](DiscordVoiceClient::State state) { + const auto signal_state_update_cb = [this](DiscordVoiceClient::State state) { m_signal_voice_client_state_update.emit(state); - }); + }; + m_voice.signal_state_update().connect(sigc::track_obj(signal_state_update_cb, m_signal_voice_client_state_update)); #endif LoadEventMap(); |