From b9fb7c536ae6ab46f15c355176edbd5d25db6669 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Thu, 10 Sep 2020 23:57:36 -0400 Subject: fix edited/deleted being reset on channel change --- discord/discord.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'discord/discord.cpp') diff --git a/discord/discord.cpp b/discord/discord.cpp index 470088b..cb997cf 100644 --- a/discord/discord.cpp +++ b/discord/discord.cpp @@ -373,6 +373,9 @@ void DiscordClient::HandleGatewayMessageCreate(const GatewayMessage &msg) { void DiscordClient::HandleGatewayMessageDelete(const GatewayMessage &msg) { MessageDeleteData data = msg.Data; m_signal_message_delete.emit(data.ID, data.ChannelID); + auto *cur = m_store.GetMessage(data.ID); + if (cur != nullptr) + cur->SetDeleted(); } void DiscordClient::HandleGatewayMessageUpdate(const GatewayMessage &msg) { @@ -385,9 +388,7 @@ void DiscordClient::HandleGatewayMessageUpdate(const GatewayMessage &msg) { return; if (data.Content != current->Content) { - auto copy = *current; - copy.Content = data.Content; - m_store.SetMessage(copy.ID, copy); + current->SetEdited(data.Content); m_signal_message_update.emit(data.ID, data.ChannelID); } } -- cgit v1.2.3