about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDmitry Podgorny <pasis.ua@gmail.com>2021-07-17 19:36:31 +0300
committerDmitry Podgorny <pasis.ua@gmail.com>2021-07-17 19:36:31 +0300
commitc0ea27f2f0c6f086ff88a212809f5b695345a029 (patch)
treeec54aa5fdcdd15ca82c2ed8a2a0b0f96680d3ae5
parenta5d15e224c94d44f3cc11a802cc6c10a6086fdb4 (diff)
downloadprofani-tty-c0ea27f2f0c6f086ff88a212809f5b695345a029.tar.gz
Don't handle /me in the middle of a message with mentions
-rw-r--r--src/ui/mucwin.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/ui/mucwin.c b/src/ui/mucwin.c
index 20d3025b..a0717282 100644
--- a/src/ui/mucwin.c
+++ b/src/ui/mucwin.c
@@ -386,12 +386,14 @@ _mucwin_print_mention(ProfWin* window, const char* const message, const char* co
     int last_pos = 0;
     int pos;
     GSList* curr = mentions;
+    glong mynick_len = g_utf8_strlen(mynick, -1);
+
     while (curr) {
         pos = GPOINTER_TO_INT(curr->data);
 
         char *before_str = g_utf8_substring(message, last_pos, pos);
 
-        if (strncmp(before_str, "/me ", 4) == 0) {
+        if (last_pos == 0 && strncmp(before_str, "/me ", 4) == 0) {
             win_print_them(window, THEME_ROOMMENTION, ch, flags, "");
             win_append_highlight(window, THEME_ROOMMENTION, "*%s ", from);
             win_append_highlight(window, THEME_ROOMMENTION, "%s", before_str + 4);
@@ -404,7 +406,6 @@ _mucwin_print_mention(ProfWin* window, const char* const message, const char* co
         }
         g_free(before_str);
 
-        glong mynick_len = g_utf8_strlen(mynick, -1);
         char* mynick_str = g_utf8_substring(message, pos, pos + mynick_len);
         win_append_highlight(window, THEME_ROOMMENTION_TERM, "%s", mynick_str);
         g_free(mynick_str);