1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-03 16:23:14 +02:00

Hotlist not changed when self away or nick change

This commit is contained in:
Sebastien Helleu
2005-04-09 08:03:53 +00:00
parent ae8a4633ef
commit a92ca4961b
10 changed files with 50 additions and 34 deletions
+18 -16
View File
@@ -740,29 +740,30 @@ irc_cmd_recv_nick (t_irc_server *server, char *host, char *arguments)
if (pos)
pos[0] = '\0';
/* change nickname in any opened private window */
for (ptr_buffer = gui_buffers; ptr_buffer;
ptr_buffer = ptr_buffer->next_buffer)
{
if ((SERVER(ptr_buffer) == server) && BUFFER_IS_PRIVATE(ptr_buffer))
{
if ((CHANNEL(ptr_buffer)->name)
&& (strcasecmp (host, CHANNEL(ptr_buffer)->name) == 0))
{
free (CHANNEL(ptr_buffer)->name);
CHANNEL(ptr_buffer)->name = strdup (arguments);
}
}
}
for (ptr_channel = server->channels; ptr_channel;
ptr_channel = ptr_channel->next_channel)
{
ptr_nick = nick_search (ptr_channel, host);
if (ptr_nick)
{
/* change nickname in any opened private window */
for (ptr_buffer = gui_buffers; ptr_buffer;
ptr_buffer = ptr_buffer->next_buffer)
{
if ((SERVER(ptr_buffer) == server) && BUFFER_IS_PRIVATE(ptr_buffer))
{
if ((CHANNEL(ptr_buffer)->name)
&& (strcmp (ptr_nick->nick, CHANNEL(ptr_buffer)->name) == 0))
{
free (CHANNEL(ptr_buffer)->name);
CHANNEL(ptr_buffer)->name = strdup (arguments);
}
}
}
/* change nickname on channel */
nick_is_me = (strcmp (ptr_nick->nick, server->nick) == 0) ? 1 : 0;
if (nick_is_me)
gui_add_hotlist = 0;
nick_change (ptr_channel, ptr_nick, arguments);
irc_display_prefix (ptr_channel->buffer, PREFIX_INFO);
if (nick_is_me)
@@ -786,6 +787,7 @@ irc_cmd_recv_nick (t_irc_server *server, char *host, char *arguments)
arguments);
if (gui_buffer_has_nicklist (ptr_channel->buffer))
gui_draw_buffer_nick (ptr_channel->buffer, 1);
gui_add_hotlist = 1;
}
}
+2
View File
@@ -94,6 +94,7 @@ irc_cmd_send_away (t_irc_server *server, char *arguments)
time_t elapsed;
char buffer[4096];
gui_add_hotlist = 0;
if (arguments && (strncmp (arguments, "-all", 4) == 0))
{
pos = arguments + 4;
@@ -184,6 +185,7 @@ irc_cmd_send_away (t_irc_server *server, char *arguments)
}
}
gui_draw_buffer_status (gui_current_window->buffer, 1);
gui_add_hotlist = 1;
return 0;
}