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

irc: fix local variable "away" on server buffer (set/delete it each time away is set or removed on server)

This commit is contained in:
Sebastien Helleu
2011-03-23 16:11:23 +01:00
parent 97048d57fc
commit b7b2cc8bd7
2 changed files with 19 additions and 5 deletions
+16 -4
View File
@@ -3686,16 +3686,28 @@ void
irc_server_set_away (struct t_irc_server *server, const char *nick, int is_away)
{
struct t_irc_channel *ptr_channel;
for (ptr_channel = server->channels; ptr_channel; ptr_channel = ptr_channel->next_channel)
if (server->is_connected)
{
if (server->is_connected)
/* set/del "away" local variable on server buffer */
if (is_away)
{
weechat_buffer_set (server->buffer,
"localvar_set_away", server->away_message);
}
else
{
weechat_buffer_set (server->buffer,
"localvar_del_away", "");
}
for (ptr_channel = server->channels; ptr_channel; ptr_channel = ptr_channel->next_channel)
{
/* set away flag for nick on channel */
if (ptr_channel->type == IRC_CHANNEL_TYPE_CHANNEL)
irc_channel_set_away (server, ptr_channel, nick, is_away);
/* set/del "away" local variable */
/* set/del "away" local variable on channel buffer */
if (is_away)
{
weechat_buffer_set (ptr_channel->buffer,