diff options
-rw-r--r-- | abaddon.cpp | 6 | ||||
-rw-r--r-- | windows/mainwindow.cpp | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/abaddon.cpp b/abaddon.cpp index dcbc7d3..b40909d 100644 --- a/abaddon.cpp +++ b/abaddon.cpp @@ -626,8 +626,12 @@ void Abaddon::ActionViewPins(Snowflake channel_id) { } void Abaddon::ActionViewThreads(Snowflake channel_id) { - const auto data = m_discord.GetChannel(channel_id); + auto data = m_discord.GetChannel(channel_id); if (!data.has_value()) return; + if (data->IsThread()) { + data = m_discord.GetChannel(*data->ParentID); + if (!data.has_value()) return; + } auto window = new ThreadsWindow(*data); ManageHeapWindow(window); window->show(); diff --git a/windows/mainwindow.cpp b/windows/mainwindow.cpp index 0bfff7c..356be59 100644 --- a/windows/mainwindow.cpp +++ b/windows/mainwindow.cpp @@ -251,7 +251,7 @@ void MainWindow::OnViewSubmenuPopup(const Gdk::Rectangle* flipped_rect, const Gd 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); + 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); } } |