comparison src/protocols/irc/irc.c @ 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 7a65fdba750f
children db62420a53a2
comparison
equal deleted inserted replaced
9552:2e057acae3ab 9553:8a64666476e6
121 { 121 {
122 ib->flag = FALSE; 122 ib->flag = FALSE;
123 g_string_append_printf(string, "%s ", name); 123 g_string_append_printf(string, "%s ", name);
124 } 124 }
125 125
126 static void irc_ison_one(struct irc_conn *irc, struct irc_buddy *ib)
127 {
128 char *buf;
129
130 ib->flag = FALSE;
131 buf = irc_format(irc, "vn", "ISON", ib->name);
132 irc_send(irc, buf);
133 g_free(buf);
134 }
135
136
126 static const char *irc_blist_icon(GaimAccount *a, GaimBuddy *b) 137 static const char *irc_blist_icon(GaimAccount *a, GaimBuddy *b)
127 { 138 {
128 return "irc"; 139 return "irc";
129 } 140 }
130 141
343 struct irc_conn *irc = (struct irc_conn *)gc->proto_data; 354 struct irc_conn *irc = (struct irc_conn *)gc->proto_data;
344 struct irc_buddy *ib = g_new0(struct irc_buddy, 1); 355 struct irc_buddy *ib = g_new0(struct irc_buddy, 1);
345 ib->name = g_strdup(buddy->name); 356 ib->name = g_strdup(buddy->name);
346 g_hash_table_insert(irc->buddies, ib->name, ib); 357 g_hash_table_insert(irc->buddies, ib->name, ib);
347 358
348 irc_blist_timeout(irc); 359 /* if the timer isn't set, this is during signon, so we don't want to flood
360 * ourself off with ISON's, so we don't, but after that we want to know when
361 * someone's online asap */
362 if (irc->timer)
363 irc_ison_one(irc, ib);
349 } 364 }
350 365
351 static void irc_remove_buddy(GaimConnection *gc, GaimBuddy *buddy, GaimGroup *group) 366 static void irc_remove_buddy(GaimConnection *gc, GaimBuddy *buddy, GaimGroup *group)
352 { 367 {
353 struct irc_conn *irc = (struct irc_conn *)gc->proto_data; 368 struct irc_conn *irc = (struct irc_conn *)gc->proto_data;