Mercurial > pidgin.yaz
diff src/server.c @ 1153:3063e6743913
[gaim-migrate @ 1163]
handle the keepalives better. have ICQ force keepalives for connections, it's a bad hack but it's probably necessary for a UDP protocol.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Tue, 28 Nov 2000 04:12:06 +0000 |
parents | cd96ca1aed02 |
children | 4fd0d35826fe |
line wrap: on
line diff
--- a/src/server.c Tue Nov 28 02:22:42 2000 +0000 +++ b/src/server.c Tue Nov 28 04:12:06 2000 +0000 @@ -67,11 +67,11 @@ if (gc->idle_timer > 0) gtk_timeout_remove(gc->idle_timer); - gc->idle_timer = -1; + gc->idle_timer = 0; if (gc->keepalive > 0) gtk_timeout_remove(gc->keepalive); - gc->keepalive = -1; + gc->keepalive = 0; if (gc->prpl && gc->prpl->close) (*gc->prpl->close)(gc); @@ -111,6 +111,8 @@ time(&gc->login_time); serv_add_buddy(gc, gc->username); + + update_keepalive(gc, gc->options & OPT_USR_KEEPALV); } @@ -704,18 +706,17 @@ void send_keepalive(gpointer d) { struct gaim_connection *gc = (struct gaim_connection *)d; - debug_print("sending oscar NOP\n"); if (gc->prpl && gc->prpl->keepalive) (*gc->prpl->keepalive)(gc); } void update_keepalive(struct gaim_connection *gc, gboolean on) { - if (on && gc->keepalive < 0 && blist) { + if (on && !gc->keepalive && blist) { debug_print("allowing NOP\n"); gc->keepalive = gtk_timeout_add(60000, (GtkFunction)send_keepalive, gc); - } else if (!on && gc->keepalive > -1) { + } else if (!on && gc->keepalive > 0) { debug_print("removing NOP\n"); gtk_timeout_remove(gc->keepalive); - gc->keepalive = -1; + gc->keepalive = 0; } }