Mercurial > pidgin
changeset 9553:8a64666476e6
[gaim-migrate @ 10386]
(13:06:08) nosnilmot: Paco-Paco / LSchiere: this cures the flooding on
signon for me
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Sat, 17 Jul 2004 17:08:24 +0000 |
parents | 2e057acae3ab |
children | 8b2451878e26 |
files | ChangeLog src/protocols/irc/irc.c |
diffstat | 2 files changed, 20 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Fri Jul 16 16:45:32 2004 +0000 +++ b/ChangeLog Sat Jul 17 17:08:24 2004 +0000 @@ -5,6 +5,10 @@ * The autorecon plugin will somewhat remember state information(Yosef Radchenko) + Bug Fixes: + * Long buddy lists with irc should cause flooding disconnects less + (Stu Tomlinson) + version 0.80 (07/15/2004): New Features: * Ability to send files from the conversation window (Daniel Atallah)
--- a/src/protocols/irc/irc.c Fri Jul 16 16:45:32 2004 +0000 +++ b/src/protocols/irc/irc.c Sat Jul 17 17:08:24 2004 +0000 @@ -123,6 +123,17 @@ g_string_append_printf(string, "%s ", name); } +static void irc_ison_one(struct irc_conn *irc, struct irc_buddy *ib) +{ + char *buf; + + ib->flag = FALSE; + buf = irc_format(irc, "vn", "ISON", ib->name); + irc_send(irc, buf); + g_free(buf); +} + + static const char *irc_blist_icon(GaimAccount *a, GaimBuddy *b) { return "irc"; @@ -345,7 +356,11 @@ ib->name = g_strdup(buddy->name); g_hash_table_insert(irc->buddies, ib->name, ib); - irc_blist_timeout(irc); + /* if the timer isn't set, this is during signon, so we don't want to flood + * ourself off with ISON's, so we don't, but after that we want to know when + * someone's online asap */ + if (irc->timer) + irc_ison_one(irc, ib); } static void irc_remove_buddy(GaimConnection *gc, GaimBuddy *buddy, GaimGroup *group)