mirror of
https://github.com/irssi/irssi.git
synced 2024-12-04 14:46:39 -05:00
Merge pull request #389 from ailin-nemui/hilight2-up
keep track of address in text_dest for hilight purposes
This commit is contained in:
commit
8f37095969
@ -175,7 +175,6 @@ static void sig_message_public(SERVER_REC *server, const char *msg,
|
||||
int for_me, print_channel, level;
|
||||
char *nickmode, *color, *freemsg = NULL;
|
||||
HILIGHT_REC *hilight;
|
||||
int match_beg = 0, match_end = 0;
|
||||
|
||||
/* NOTE: this may return NULL if some channel is just closed with
|
||||
/WINDOW CLOSE and server still sends the few last messages */
|
||||
@ -188,8 +187,8 @@ static void sig_message_public(SERVER_REC *server, const char *msg,
|
||||
nick_match_msg(chanrec, msg, server->nick) :
|
||||
nick_match_msg_everywhere(chanrec, msg, server->nick);
|
||||
hilight = for_me ? NULL :
|
||||
hilight_match(server, target, nick, address, MSGLEVEL_PUBLIC, msg, &match_beg, &match_end);
|
||||
color = (hilight == NULL || !hilight->nick) ? NULL : hilight_get_color(hilight);
|
||||
hilight_match_nick(server, target, nick, address, MSGLEVEL_PUBLIC, msg);
|
||||
color = (hilight == NULL) ? NULL : hilight_get_color(hilight);
|
||||
|
||||
print_channel = chanrec == NULL ||
|
||||
!window_item_is_active((WI_ITEM_REC *) chanrec);
|
||||
@ -217,9 +216,8 @@ static void sig_message_public(SERVER_REC *server, const char *msg,
|
||||
|
||||
TEXT_DEST_REC dest;
|
||||
format_create_dest(&dest, server, target, level, NULL);
|
||||
dest.hilight = hilight;
|
||||
dest.match_beg = match_beg;
|
||||
dest.match_end = match_end;
|
||||
dest.address = address;
|
||||
dest.nick = nick;
|
||||
if (color != NULL) {
|
||||
/* highlighted nick */
|
||||
hilight_update_text_dest(&dest,hilight);
|
||||
|
@ -416,8 +416,6 @@ void format_create_dest_tag(TEXT_DEST_REC *dest, void *server,
|
||||
dest->server_tag = server != NULL ? SERVER(server)->tag : server_tag;
|
||||
dest->target = target;
|
||||
dest->level = level;
|
||||
dest->match_beg = 0;
|
||||
dest->match_end = 0;
|
||||
dest->window = window != NULL ? window :
|
||||
window_find_closest(server, target, level);
|
||||
}
|
||||
|
@ -52,11 +52,10 @@ typedef struct _TEXT_DEST_REC {
|
||||
SERVER_REC *server;
|
||||
const char *server_tag; /* if server is non-NULL, must be server->tag */
|
||||
const char *target;
|
||||
const char *nick;
|
||||
const char *address;
|
||||
int level;
|
||||
|
||||
HILIGHT_REC *hilight;
|
||||
int match_beg;
|
||||
int match_end;
|
||||
int hilight_priority;
|
||||
char *hilight_color;
|
||||
int flags;
|
||||
|
@ -325,9 +325,10 @@ static void sig_print_text(TEXT_DEST_REC *dest, const char *text,
|
||||
if (dest->level & MSGLEVEL_NOHILIGHT)
|
||||
return;
|
||||
|
||||
hilight_start = dest->match_beg;
|
||||
hilight_end = dest->match_end;
|
||||
hilight = dest->hilight;
|
||||
hilight_start = hilight_end = 0;
|
||||
hilight = hilight_match(dest->server, dest->target, dest->nick,
|
||||
dest->address, dest->level, stripped,
|
||||
&hilight_start, &hilight_end);
|
||||
|
||||
if (hilight == NULL)
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user