# HG changeset patch # User Mark Doliner # Date 1058129967 0 # Node ID 3c70f8be8558ae279d37807124958584be6cef12 # Parent 30d4c432101c16c12658b4232bc234b633f6c3bf [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 diff -r 30d4c432101c -r 3c70f8be8558 src/gtkconn.c --- 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; }