Mercurial > pidgin.yaz
changeset 5968:aef0c3489837
[gaim-migrate @ 6415]
I haven't been able to test this, but this should implement a timer so that,
when you sign on and are not able to retrieve your AIM buddy list, it will
retry every 5 minutes.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sat, 28 Jun 2003 05:06:49 +0000 |
parents | 156953fe3e14 |
children | 4b1d6ed1204f |
files | src/protocols/oscar/oscar.c |
diffstat | 1 files changed, 11 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/protocols/oscar/oscar.c Sat Jun 28 00:49:56 2003 +0000 +++ b/src/protocols/oscar/oscar.c Sat Jun 28 05:06:49 2003 +0000 @@ -93,6 +93,7 @@ gboolean icq; GSList *evilhack; guint icontimer; + guint getblisttimer; struct { guint maxwatchers; /* max users who can watch you */ @@ -748,6 +749,8 @@ gaim_input_remove(od->icopa); if (od->icontimer) g_source_remove(od->icontimer); + if (od->getblisttimer) + g_source_remove(od->getblisttimer); aim_session_kill(od->sess); g_free(od->sess); od->sess = NULL; @@ -4704,6 +4707,12 @@ } } +static gboolean gaim_ssi_rerequestdata(gpointer data) { + aim_session_t *sess = data; + aim_ssi_reqdata(sess, sess->ssi.timestamp, sess->ssi.numitems); + return FALSE; +} + static int gaim_ssi_parseerr(aim_session_t *sess, aim_frame_t *fr, ...) { GaimConnection *gc = sess->aux_data; struct oscar_data *od = gc->proto_data; @@ -4719,13 +4728,13 @@ if (reason == 0x0005) { gaim_notify_error(gc, NULL, _("Unable To Retrieve Buddy List"), _("Gaim was temporarily unable to retrieve your buddy list from the AIM servers. Your buddy list is not lost, and will probably become available in a few hours.")); + od->getblisttimer = g_timeout_add(300000, gaim_ssi_rerequestdata, od->sess); } /* Activate SSI */ /* Sending the enable causes other people to be able to see you, and you to see them */ /* Make sure your privacy setting/invisibility is set how you want it before this! */ - gaim_debug(GAIM_DEBUG_INFO, "oscar", - "ssi: activating server-stored buddy list\n"); + gaim_debug(GAIM_DEBUG_INFO, "oscar", "ssi: activating server-stored buddy list\n"); aim_ssi_enable(od->sess); return 1;