mirror of
https://github.com/weechat/weechat.git
synced 2026-06-26 12:56:37 +02:00
Fixed nicklist sort bug
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
WeeChat - Wee Enhanced Environment for Chat
|
||||
===========================================
|
||||
|
||||
ChangeLog - 2006-04-23
|
||||
ChangeLog - 2006-05-05
|
||||
|
||||
Version 0.1.9 (under dev!):
|
||||
* fixed nicklist sort bug
|
||||
* added russian translations (thanks to Pavel Shevchuk)
|
||||
* added german doc (thanks to Frank Zacharias)
|
||||
* added missing IRC commands (290, 292, 437, 974)
|
||||
* fixed crash when multiple pv have same name: now it's forbidden
|
||||
and pv buffer is not renamed (when a nick changes) if another
|
||||
|
||||
+22
-21
@@ -163,6 +163,27 @@ nick_insert_sorted (t_irc_channel *channel, t_irc_nick *nick)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* nick_resort: resort nick in the list
|
||||
*/
|
||||
|
||||
void
|
||||
nick_resort (t_irc_channel *channel, t_irc_nick *nick)
|
||||
{
|
||||
/* temporarly remove nick from list */
|
||||
if (nick == channel->nicks)
|
||||
channel->nicks = nick->next_nick;
|
||||
else
|
||||
nick->prev_nick->next_nick = nick->next_nick;
|
||||
if (nick->next_nick)
|
||||
nick->next_nick->prev_nick = nick->prev_nick;
|
||||
if (nick == channel->last_nick)
|
||||
channel->last_nick = nick->prev_nick;
|
||||
|
||||
/* insert again nick into sorted list */
|
||||
nick_insert_sorted (channel, nick);
|
||||
}
|
||||
|
||||
/*
|
||||
* nick_new: allocate a new nick for a channel and add it to the nick list
|
||||
*/
|
||||
@@ -183,6 +204,7 @@ nick_new (t_irc_server *server, t_irc_channel *channel, char *nick_name,
|
||||
NICK_SET_FLAG(new_nick, is_op, NICK_OP);
|
||||
NICK_SET_FLAG(new_nick, is_halfop, NICK_HALFOP);
|
||||
NICK_SET_FLAG(new_nick, has_voice, NICK_VOICE);
|
||||
nick_resort (channel, new_nick);
|
||||
return new_nick;
|
||||
}
|
||||
|
||||
@@ -212,27 +234,6 @@ nick_new (t_irc_server *server, t_irc_channel *channel, char *nick_name,
|
||||
return new_nick;
|
||||
}
|
||||
|
||||
/*
|
||||
* nick_resort: resort nick in the list
|
||||
*/
|
||||
|
||||
void
|
||||
nick_resort (t_irc_channel *channel, t_irc_nick *nick)
|
||||
{
|
||||
/* temporarly remove nick from list */
|
||||
if (nick == channel->nicks)
|
||||
channel->nicks = nick->next_nick;
|
||||
else
|
||||
nick->prev_nick->next_nick = nick->next_nick;
|
||||
if (nick->next_nick)
|
||||
nick->next_nick->prev_nick = nick->prev_nick;
|
||||
if (nick == channel->last_nick)
|
||||
channel->last_nick = nick->prev_nick;
|
||||
|
||||
/* insert again nick into sorted list */
|
||||
nick_insert_sorted (channel, nick);
|
||||
}
|
||||
|
||||
/*
|
||||
* nick_change: change nickname and move it if necessary (list is sorted)
|
||||
*/
|
||||
|
||||
+4
-1
@@ -1,9 +1,12 @@
|
||||
WeeChat - Wee Enhanced Environment for Chat
|
||||
===========================================
|
||||
|
||||
ChangeLog - 2006-04-23
|
||||
ChangeLog - 2006-05-05
|
||||
|
||||
Version 0.1.9 (under dev!):
|
||||
* fixed nicklist sort bug
|
||||
* added russian translations (thanks to Pavel Shevchuk)
|
||||
* added german doc (thanks to Frank Zacharias)
|
||||
* added missing IRC commands (290, 292, 437, 974)
|
||||
* fixed crash when multiple pv have same name: now it's forbidden
|
||||
and pv buffer is not renamed (when a nick changes) if another
|
||||
|
||||
+22
-21
@@ -163,6 +163,27 @@ nick_insert_sorted (t_irc_channel *channel, t_irc_nick *nick)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* nick_resort: resort nick in the list
|
||||
*/
|
||||
|
||||
void
|
||||
nick_resort (t_irc_channel *channel, t_irc_nick *nick)
|
||||
{
|
||||
/* temporarly remove nick from list */
|
||||
if (nick == channel->nicks)
|
||||
channel->nicks = nick->next_nick;
|
||||
else
|
||||
nick->prev_nick->next_nick = nick->next_nick;
|
||||
if (nick->next_nick)
|
||||
nick->next_nick->prev_nick = nick->prev_nick;
|
||||
if (nick == channel->last_nick)
|
||||
channel->last_nick = nick->prev_nick;
|
||||
|
||||
/* insert again nick into sorted list */
|
||||
nick_insert_sorted (channel, nick);
|
||||
}
|
||||
|
||||
/*
|
||||
* nick_new: allocate a new nick for a channel and add it to the nick list
|
||||
*/
|
||||
@@ -183,6 +204,7 @@ nick_new (t_irc_server *server, t_irc_channel *channel, char *nick_name,
|
||||
NICK_SET_FLAG(new_nick, is_op, NICK_OP);
|
||||
NICK_SET_FLAG(new_nick, is_halfop, NICK_HALFOP);
|
||||
NICK_SET_FLAG(new_nick, has_voice, NICK_VOICE);
|
||||
nick_resort (channel, new_nick);
|
||||
return new_nick;
|
||||
}
|
||||
|
||||
@@ -212,27 +234,6 @@ nick_new (t_irc_server *server, t_irc_channel *channel, char *nick_name,
|
||||
return new_nick;
|
||||
}
|
||||
|
||||
/*
|
||||
* nick_resort: resort nick in the list
|
||||
*/
|
||||
|
||||
void
|
||||
nick_resort (t_irc_channel *channel, t_irc_nick *nick)
|
||||
{
|
||||
/* temporarly remove nick from list */
|
||||
if (nick == channel->nicks)
|
||||
channel->nicks = nick->next_nick;
|
||||
else
|
||||
nick->prev_nick->next_nick = nick->next_nick;
|
||||
if (nick->next_nick)
|
||||
nick->next_nick->prev_nick = nick->prev_nick;
|
||||
if (nick == channel->last_nick)
|
||||
channel->last_nick = nick->prev_nick;
|
||||
|
||||
/* insert again nick into sorted list */
|
||||
nick_insert_sorted (channel, nick);
|
||||
}
|
||||
|
||||
/*
|
||||
* nick_change: change nickname and move it if necessary (list is sorted)
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user