diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-11-20 18:48:15 -0500 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-11-20 18:48:15 -0500 |
commit | 574cbc35d85d5f90e2d5946da636f9c1cc0cd2ad (patch) | |
tree | 3797355d4db144311820b499501ff104e0eadd9a /windows/mainwindow.cpp | |
parent | 9d21df8e1bca9ccfa1bcfcde3bc8f35473866166 (diff) | |
parent | fc76a15c4636df4961af1879ddecb111a9f68260 (diff) | |
download | abaddon-portaudio-574cbc35d85d5f90e2d5946da636f9c1cc0cd2ad.tar.gz abaddon-portaudio-574cbc35d85d5f90e2d5946da636f9c1cc0cd2ad.zip |
merge store
Diffstat (limited to 'windows/mainwindow.cpp')
-rw-r--r-- | windows/mainwindow.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/windows/mainwindow.cpp b/windows/mainwindow.cpp index 61ebbfa..13c9348 100644 --- a/windows/mainwindow.cpp +++ b/windows/mainwindow.cpp @@ -228,10 +228,12 @@ void MainWindow::UpdateChatReactionRemove(Snowflake id, const Glib::ustring &par void MainWindow::OnDiscordSubmenuPopup(const Gdk::Rectangle *flipped_rect, const Gdk::Rectangle *final_rect, bool flipped_x, bool flipped_y) { auto &discord = Abaddon::Get().GetDiscordClient(); auto channel_id = GetChatActiveChannel(); - auto channel = discord.GetChannel(channel_id); m_menu_discord_add_recipient.set_visible(false); - if (channel.has_value() && channel->GetDMRecipients().size() + 1 < 10) - m_menu_discord_add_recipient.set_visible(channel->Type == ChannelType::GROUP_DM); + if (channel_id.IsValid()) { + auto channel = discord.GetChannel(channel_id); + if (channel.has_value() && channel->GetDMRecipients().size() + 1 < 10) + m_menu_discord_add_recipient.set_visible(channel->Type == ChannelType::GROUP_DM); + } const bool discord_active = Abaddon::Get().GetDiscordClient().IsStarted(); @@ -246,12 +248,14 @@ void MainWindow::OnDiscordSubmenuPopup(const Gdk::Rectangle *flipped_rect, const void MainWindow::OnViewSubmenuPopup(const Gdk::Rectangle *flipped_rect, const Gdk::Rectangle *final_rect, bool flipped_x, bool flipped_y) { m_menu_view_friends.set_sensitive(Abaddon::Get().GetDiscordClient().IsStarted()); auto channel_id = GetChatActiveChannel(); - auto channel = Abaddon::Get().GetDiscordClient().GetChannel(channel_id); m_menu_view_pins.set_sensitive(false); m_menu_view_threads.set_sensitive(false); - if (channel.has_value()) { - m_menu_view_threads.set_sensitive(channel->Type == ChannelType::GUILD_TEXT || channel->IsThread()); - m_menu_view_pins.set_sensitive(channel->Type == ChannelType::GUILD_TEXT || channel->Type == ChannelType::DM || channel->Type == ChannelType::GROUP_DM || channel->IsThread()); + if (channel_id.IsValid()) { + auto channel = Abaddon::Get().GetDiscordClient().GetChannel(channel_id); + if (channel.has_value()) { + m_menu_view_threads.set_sensitive(channel->Type == ChannelType::GUILD_TEXT || channel->IsThread()); + m_menu_view_pins.set_sensitive(channel->Type == ChannelType::GUILD_TEXT || channel->Type == ChannelType::DM || channel->Type == ChannelType::GROUP_DM || channel->IsThread()); + } } } |