Mercurial > pidgin
diff src/gtkconn.c @ 6114:3c70f8be8558
[gaim-migrate @ 6576]
Fix Cae non-fatal bad bug 2: "hitting cancel all does not kill attempts to
sign on. gaim tries to reconnect (no, I am not using the auto-reconnect
plugin)."
Previously only 1 account would get canceled because Gaim was iterating
incorrectly through a GSList.
committer: Tailor Script <tailor@pidgin.im>
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Sun, 13 Jul 2003 20:59:27 +0000 |
| parents | 0922bb7a7bbc |
| children | dc42b27101c0 |
line wrap: on
line diff
--- a/src/gtkconn.c Sun Jul 13 20:36:53 2003 +0000 +++ b/src/gtkconn.c Sun Jul 13 20:59:27 2003 +0000 @@ -67,10 +67,12 @@ static void cancel_all () { GSList *m = meter_win ? meter_win->meters : NULL; + struct signon_meter *meter; while (m) { - cancel_signon(NULL, m->data); - m = meter_win ? meter_win->meters : NULL; + meter = m->data; + cancel_signon(NULL, meter); + m = m->next; } } @@ -82,9 +84,11 @@ static struct signon_meter *find_signon_meter(GaimConnection *gc) { GSList *m = meter_win ? meter_win->meters : NULL; + struct signon_meter *meter; while (m) { - if (((struct signon_meter *)m->data)->account == gc->account) + meter = m->data; + if (meter->account == gaim_connection_get_account(gc)) return m->data; m = m->next; }
