From d8d9f1b857da6e7beaf8b998f50b20ea295ab92a Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Sun, 2 Oct 2022 02:50:48 -0400 Subject: close voice window on context menu disconnect --- src/abaddon.cpp | 5 +++++ src/abaddon.hpp | 1 + 2 files changed, 6 insertions(+) (limited to 'src') diff --git a/src/abaddon.cpp b/src/abaddon.cpp index 4c879ca..6dc5fd1 100644 --- a/src/abaddon.cpp +++ b/src/abaddon.cpp @@ -420,6 +420,7 @@ void Abaddon::DiscordOnThreadUpdate(const ThreadUpdateData &data) { #ifdef WITH_VOICE void Abaddon::OnVoiceConnected() { auto *wnd = new VoiceWindow(m_discord.GetVoiceChannelID()); + m_voice_window = wnd; wnd->signal_mute().connect([this](bool is_mute) { m_discord.SetVoiceMuted(is_mute); @@ -440,6 +441,7 @@ void Abaddon::OnVoiceConnected() { wnd->show(); wnd->signal_hide().connect([this, wnd]() { m_discord.DisconnectFromVoice(); + m_voice_window = nullptr; delete wnd; delete m_user_menu; SetupUserMenu(); @@ -448,6 +450,9 @@ void Abaddon::OnVoiceConnected() { void Abaddon::OnVoiceDisconnected() { m_audio->RemoveAllSSRCs(); + if (m_voice_window != nullptr) { + m_voice_window->close(); + } } #endif diff --git a/src/abaddon.hpp b/src/abaddon.hpp index a15670b..f45f435 100644 --- a/src/abaddon.hpp +++ b/src/abaddon.hpp @@ -162,6 +162,7 @@ private: #ifdef WITH_VOICE std::unique_ptr m_audio; + Gtk::Window *m_voice_window = nullptr; #endif mutable std::mutex m_mutex; -- cgit v1.2.3