summaryrefslogtreecommitdiff
path: root/src/fe-common/irc
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2000-08-29 23:43:59 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2000-08-29 23:43:59 +0000
commitcf7eb945ea769b51622a1c1cbbbc7e7a6a494df9 (patch)
tree7463f8f5dafec0205fb02f283c4ba9ddb8c2db94 /src/fe-common/irc
parent18a0499ce7ad4b0eaca8b4bcecb209bca9cf9e60 (diff)
downloadirssi-cf7eb945ea769b51622a1c1cbbbc7e7a6a494df9.zip
Highlighting fixes with public messages.
/msg tab completion list growed to size of completion_keep_privates, the new nicks were removed from list instead of the old nicks. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@637 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/fe-common/irc')
-rw-r--r--src/fe-common/irc/fe-events.c17
-rw-r--r--src/fe-common/irc/irc-completion.c10
2 files changed, 14 insertions, 13 deletions
diff --git a/src/fe-common/irc/fe-events.c b/src/fe-common/irc/fe-events.c
index 061a37ac..4e544ffa 100644
--- a/src/fe-common/irc/fe-events.c
+++ b/src/fe-common/irc/fe-events.c
@@ -50,7 +50,7 @@ static void print_channel_msg(IRC_SERVER_REC *server, const char *msg,
IRC_CHANNEL_REC *chanrec;
NICK_REC *nickrec;
const char *nickmode;
- int for_me, print_channel;
+ int for_me, print_channel, level;
char *color;
chanrec = irc_channel_find(server, target);
@@ -67,24 +67,27 @@ static void print_channel_msg(IRC_SERVER_REC *server, const char *msg,
window_item_window((WI_ITEM_REC *) chanrec)->items->next != NULL)
print_channel = TRUE;
+ level = MSGLEVEL_PUBLIC |
+ (color != NULL ? MSGLEVEL_HILIGHT :
+ (for_me ? MSGLEVEL_HILIGHT : MSGLEVEL_NOHILIGHT));
if (!print_channel) {
/* message to active channel in window */
if (color != NULL) {
/* highlighted nick */
- printformat(server, target, MSGLEVEL_PUBLIC | MSGLEVEL_HILIGHT,
- IRCTXT_PUBMSG_HILIGHT, color, nick, msg, nickmode);
+ printformat(server, target, level, IRCTXT_PUBMSG_HILIGHT,
+ color, nick, msg, nickmode);
} else {
- printformat(server, target, MSGLEVEL_PUBLIC | (for_me ? MSGLEVEL_HILIGHT : 0),
+ printformat(server, target, level,
for_me ? IRCTXT_PUBMSG_ME : IRCTXT_PUBMSG, nick, msg, nickmode);
}
} else {
/* message to not existing/active channel */
if (color != NULL) {
/* highlighted nick */
- printformat(server, target, MSGLEVEL_PUBLIC | MSGLEVEL_HILIGHT,
- IRCTXT_PUBMSG_HILIGHT_CHANNEL, color, nick, target, msg, nickmode);
+ printformat(server, target, level, IRCTXT_PUBMSG_HILIGHT_CHANNEL,
+ color, nick, target, msg, nickmode);
} else {
- printformat(server, target, MSGLEVEL_PUBLIC | (for_me ? MSGLEVEL_HILIGHT : 0),
+ printformat(server, target, level,
for_me ? IRCTXT_PUBMSG_ME_CHANNEL : IRCTXT_PUBMSG_CHANNEL,
nick, target, msg, nickmode);
}
diff --git a/src/fe-common/irc/irc-completion.c b/src/fe-common/irc/irc-completion.c
index 1f2bde8e..381a09b1 100644
--- a/src/fe-common/irc/irc-completion.c
+++ b/src/fe-common/irc/irc-completion.c
@@ -139,7 +139,7 @@ static int nick_completion_timeout(void)
{
MODULE_SERVER_REC *mserver;
MODULE_CHANNEL_REC *mchannel;
- GSList *tmp, *link;
+ GSList *tmp;
time_t now;
int len;
@@ -153,8 +153,8 @@ static int nick_completion_timeout(void)
mserver = MODULE_DATA(rec);
len = g_slist_length(mserver->lastmsgs);
if (len > 0 && len >= settings_get_int("completion_keep_privates")) {
- link = g_slist_last(mserver->lastmsgs);
- last_msg_free(mserver, link->data);
+ /* remove the oldest msg nick. */
+ last_msg_free(mserver, mserver->lastmsgs->data);
}
}
@@ -341,10 +341,8 @@ static GList *convert_msglist(GSList *msglist)
while (msglist != NULL) {
LAST_MSG_REC *rec = msglist->data;
- list = g_list_append(list, g_strdup(rec->nick));
-
+ list = g_list_append(list, rec->nick);
msglist = g_slist_remove(msglist, rec);
- g_free(rec->nick);
g_free(rec);
}