summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/channels.cpp3
-rw-r--r--src/discord/discord.cpp3
2 files changed, 5 insertions, 1 deletions
diff --git a/src/components/channels.cpp b/src/components/channels.cpp
index f61abd2..764fb43 100644
--- a/src/components/channels.cpp
+++ b/src/components/channels.cpp
@@ -699,10 +699,11 @@ void ChannelList::OnMessageAck(const MessageAckData &data) {
}
void ChannelList::OnMessageCreate(const Message &msg) {
+ auto iter = GetIteratorForChannelFromID(msg.ChannelID);
+ m_model->row_changed(m_model->get_path(iter), iter); // redraw
const auto channel = Abaddon::Get().GetDiscordClient().GetChannel(msg.ChannelID);
if (!channel.has_value()) return;
if (channel->Type != ChannelType::DM && channel->Type != ChannelType::GROUP_DM) return;
- auto iter = GetIteratorForChannelFromID(msg.ChannelID);
if (iter)
(*iter)[m_columns.m_sort] = -msg.ID;
}
diff --git a/src/discord/discord.cpp b/src/discord/discord.cpp
index 34626f3..27d162c 100644
--- a/src/discord/discord.cpp
+++ b/src/discord/discord.cpp
@@ -1444,6 +1444,9 @@ void DiscordClient::HandleGatewayMessageCreate(const GatewayMessage &msg) {
if (data.GuildID.has_value())
AddUserToGuild(data.Author.ID, *data.GuildID);
m_last_message_id[data.ChannelID] = data.ID;
+ const auto iter = m_unread.find(data.ChannelID);
+ if (iter == m_unread.end())
+ m_unread[data.ChannelID] = 0;
m_signal_message_create.emit(data);
}