diff options
Diffstat (limited to 'src/event.c')
-rw-r--r-- | src/event.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/event.c b/src/event.c index 8133b54..459f910 100644 --- a/src/event.c +++ b/src/event.c | |||
@@ -472,3 +472,31 @@ event_receive_message(MESSENGER_Application *app, | |||
472 | ui_chat_add_message(handle->chat, app, message); | 472 | ui_chat_add_message(handle->chat, app, message); |
473 | ui_chat_entry_update(handle, app, context); | 473 | ui_chat_entry_update(handle, app, context); |
474 | } | 474 | } |
475 | |||
476 | void | ||
477 | event_delete_message(MESSENGER_Application *app, | ||
478 | struct GNUNET_CHAT_Context *context, | ||
479 | const struct GNUNET_CHAT_Message *msg) | ||
480 | { | ||
481 | UI_CHAT_ENTRY_Handle *handle = GNUNET_CHAT_context_get_user_pointer(context); | ||
482 | |||
483 | if ((!handle) || (!(handle->chat))) | ||
484 | return; | ||
485 | |||
486 | GList *messages = handle->chat->messages; | ||
487 | |||
488 | while (messages) | ||
489 | { | ||
490 | UI_MESSAGE_Handle *message = (UI_MESSAGE_Handle*) (messages->data); | ||
491 | |||
492 | if ((message) && (message->msg == GNUNET_CHAT_message_get_target(msg))) | ||
493 | { | ||
494 | ui_chat_remove_message(handle->chat, app, message); | ||
495 | break; | ||
496 | } | ||
497 | |||
498 | messages = messages->next; | ||
499 | } | ||
500 | |||
501 | ui_chat_entry_update(handle, app, context); | ||
502 | } | ||