about summary refs log tree commit diff stats
path: root/src/event
diff options
context:
space:
mode:
Diffstat (limited to 'src/event')
-rw-r--r--src/event/server_events.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/event/server_events.c b/src/event/server_events.c
index d42629e5..2272016c 100644
--- a/src/event/server_events.c
+++ b/src/event/server_events.c
@@ -286,7 +286,7 @@ sv_ev_room_history(ProfMessage *message)
 
         gboolean younger = g_date_time_compare(mucwin->last_msg_timestamp, message->timestamp) < 0 ? TRUE : FALSE;
         if (ev_is_first_connect() || younger ) {
-            mucwin_history(mucwin, message->jid->resourcepart, message->timestamp, message->plain);
+            mucwin_history(mucwin, message);
         }
     }
 }
@@ -319,17 +319,8 @@ sv_ev_room_message(ProfMessage *message)
     char *old_plain = message->plain;
     message->plain = plugins_pre_room_message_display(message->jid->barejid, message->jid->resourcepart, message->plain);
 
-    gboolean whole_word = prefs_get_boolean(PREF_NOTIFY_MENTION_WHOLE_WORD);
-    gboolean case_sensitive = prefs_get_boolean(PREF_NOTIFY_MENTION_CASE_SENSITIVE);
-    char *message_search = case_sensitive ? strdup(message->plain) : g_utf8_strdown(message->plain, -1);
-    char *mynick_search = case_sensitive ? strdup(mynick) : g_utf8_strdown(mynick, -1);
-
-    GSList *mentions = NULL;
-    mentions = prof_occurrences(mynick_search, message_search, 0, whole_word, &mentions);
+    GSList *mentions = get_mentions(prefs_get_boolean(PREF_NOTIFY_MENTION_WHOLE_WORD), prefs_get_boolean(PREF_NOTIFY_MENTION_CASE_SENSITIVE), message->plain, mynick);
     gboolean mention = g_slist_length(mentions) > 0;
-    g_free(message_search);
-    g_free(mynick_search);
-
     GList *triggers = prefs_message_get_triggers(message->plain);
 
     _clean_incoming_message(message);