diff --git a/src/event/server_events.c b/src/event/server_events.c index 17543923..ea4277b2 100644 --- a/src/event/server_events.c +++ b/src/event/server_events.c @@ -324,7 +324,7 @@ sv_ev_room_message(ProfMessage *message) GList *triggers = prefs_message_get_triggers(message->plain); _clean_incoming_message(message); - mucwin_incoming_msg(mucwin, message, mentions, triggers); + mucwin_incoming_msg(mucwin, message, mentions, triggers, TRUE); g_slist_free(mentions); diff --git a/src/ui/mucwin.c b/src/ui/mucwin.c index ce542b5f..8f9941d3 100644 --- a/src/ui/mucwin.c +++ b/src/ui/mucwin.c @@ -394,7 +394,7 @@ mucwin_history(ProfMucWin *mucwin, const ProfMessage *const message) GSList *mentions = get_mentions(prefs_get_boolean(PREF_NOTIFY_MENTION_WHOLE_WORD), prefs_get_boolean(PREF_NOTIFY_MENTION_CASE_SENSITIVE), message->plain, mynick); GList *triggers = prefs_message_get_triggers(message->plain); - mucwin_incoming_msg(mucwin, message, mentions, triggers); + mucwin_incoming_msg(mucwin, message, mentions, triggers, FALSE); g_slist_free(mentions); g_list_free_full(triggers, free); @@ -552,12 +552,12 @@ mucwin_outgoing_msg(ProfMucWin *mucwin, const char *const message, const char *c } void -mucwin_incoming_msg(ProfMucWin *mucwin, const ProfMessage *const message, GSList *mentions, GList *triggers) +mucwin_incoming_msg(ProfMucWin *mucwin, const ProfMessage *const message, GSList *mentions, GList *triggers, gboolean filter_reflection) { assert(mucwin != NULL); int flags = 0; - if (message_is_sent_by_us(message, TRUE)) { + if (filter_reflection && message_is_sent_by_us(message, TRUE)) { /* Ignore reflection messages */ return; } diff --git a/src/ui/ui.h b/src/ui/ui.h index 702da631..f0cd296b 100644 --- a/src/ui/ui.h +++ b/src/ui/ui.h @@ -159,7 +159,7 @@ void mucwin_occupant_role_and_affiliation_change(ProfMucWin *mucwin, const char void mucwin_roster(ProfMucWin *mucwin, GList *occupants, const char *const presence); void mucwin_history(ProfMucWin *mucwin, const ProfMessage *const message); void mucwin_outgoing_msg(ProfMucWin *mucwin, const char *const message, const char *const id, prof_enc_t enc_mode, const char *const replace_id); -void mucwin_incoming_msg(ProfMucWin *mucwin, const ProfMessage *const message, GSList *mentions, GList *triggers); +void mucwin_incoming_msg(ProfMucWin *mucwin, const ProfMessage *const message, GSList *mentions, GList *triggers, gboolean filter_reflection); void mucwin_subject(ProfMucWin *mucwin, const char *const nick, const char *const subject); void mucwin_requires_config(ProfMucWin *mucwin); void mucwin_info(ProfMucWin *mucwin);