summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--abaddon.cpp4
-rw-r--r--components/memberlist.cpp7
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();