diff options
author | Jacki <jacki@thejackimonster.de> | 2024-02-17 17:28:48 +0100 |
---|---|---|
committer | Jacki <jacki@thejackimonster.de> | 2024-02-17 17:28:48 +0100 |
commit | 8b95c672e8d9aabab53f09d41eaeed9521ce4b57 (patch) | |
tree | c86970d376ed12fa7495182327b1f0e0e23d1951 | |
parent | 7714537bef3658d60a994d8cf9ccca83642d8105 (diff) |
Update contact on tag deletion
Signed-off-by: Jacki <jacki@thejackimonster.de>
-rw-r--r-- | src/event.c | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/src/event.c b/src/event.c index b4e4736..358c700 100644 --- a/src/event.c +++ b/src/event.c @@ -762,6 +762,22 @@ skip_message: enqueue_chat_entry_update(handle); } +static void +_event_update_tag_message_state(const struct GNUNET_CHAT_Message *msg) +{ + const struct GNUNET_CHAT_Message *target; + target = GNUNET_CHAT_message_get_target(msg); + + if (!target) + return; + + const struct GNUNET_CHAT_Contact *contact; + contact = GNUNET_CHAT_message_get_sender(target); + + if (contact) + contact_update_info(contact); +} + void event_delete_message(MESSENGER_Application *app, struct GNUNET_CHAT_Context *context, @@ -786,6 +802,9 @@ event_delete_message(MESSENGER_Application *app, if ((message) && (message->msg == GNUNET_CHAT_message_get_target(msg))) { + if (GNUNET_CHAT_KIND_TAG == GNUNET_CHAT_message_get_kind(message->msg)) + _event_update_tag_message_state(message->msg); + ui_chat_remove_message(handle->chat, app, message); break; } @@ -808,14 +827,7 @@ event_tag_message(MESSENGER_Application *app, const struct GNUNET_CHAT_Message *target = GNUNET_CHAT_message_get_target(msg); - if (target) - { - const struct GNUNET_CHAT_Contact *contact; - contact = GNUNET_CHAT_message_get_sender(target); - - if (contact) - contact_update_info(contact); - } + _event_update_tag_message_state(msg); if ((!handle) || (!(handle->chat))) return; |