diff options
-rw-r--r-- | abaddon.cpp | 4 | ||||
-rw-r--r-- | components/memberlist.cpp | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/abaddon.cpp b/abaddon.cpp index 76600fa..5fec1b8 100644 --- a/abaddon.cpp +++ b/abaddon.cpp @@ -177,7 +177,9 @@ void Abaddon::ActionCopyGuildID(Snowflake id) { void Abaddon::ActionListChannelItemClick(Snowflake id) { auto *channel = m_discord.GetChannel(id); - m_discord.SendLazyLoad(id); + if (channel->Type != ChannelType::DM && channel->Type != ChannelType::GROUP_DM) + m_discord.SendLazyLoad(id); + if (channel->Type == ChannelType::GUILD_TEXT) m_main_window->set_title(std::string(APP_TITLE) + " - #" + channel->Name); else { diff --git a/components/memberlist.cpp b/components/memberlist.cpp index edbc752..9436308 100644 --- a/components/memberlist.cpp +++ b/components/memberlist.cpp @@ -40,7 +40,7 @@ void MemberList::UpdateMemberListInternal() { auto &discord = m_abaddon->GetDiscordClient(); auto *chan = discord.GetChannel(m_chan_id); std::unordered_set<Snowflake> ids; - if (chan->Type == ChannelType::DM) { + if (chan->Type == ChannelType::DM || chan->Type == ChannelType::GROUP_DM) { for (const auto &user : chan->Recipients) ids.insert(user.ID); } else { @@ -53,7 +53,10 @@ void MemberList::UpdateMemberListInternal() { auto *label = Gtk::manage(new Gtk::Label); label->set_single_line_mode(true); label->set_ellipsize(Pango::ELLIPSIZE_END); - label->set_text(user->Username + "#" + user->Discriminator); + if (user == nullptr) + label->set_text("[unknown user]"); + else + label->set_text(user->Username + "#" + user->Discriminator); label->set_halign(Gtk::ALIGN_START); row->add(*label); row->show_all(); |