comparison 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
comparison
equal deleted inserted replaced
6113:30d4c432101c 6114:3c70f8be8558
65 } 65 }
66 } 66 }
67 67
68 static void cancel_all () { 68 static void cancel_all () {
69 GSList *m = meter_win ? meter_win->meters : NULL; 69 GSList *m = meter_win ? meter_win->meters : NULL;
70 struct signon_meter *meter;
70 71
71 while (m) { 72 while (m) {
72 cancel_signon(NULL, m->data); 73 meter = m->data;
73 m = meter_win ? meter_win->meters : NULL; 74 cancel_signon(NULL, meter);
75 m = m->next;
74 } 76 }
75 } 77 }
76 78
77 static gint meter_destroy(GtkWidget *window, GdkEvent *evt, struct signon_meter *meter) 79 static gint meter_destroy(GtkWidget *window, GdkEvent *evt, struct signon_meter *meter)
78 { 80 {
80 } 82 }
81 83
82 static struct signon_meter *find_signon_meter(GaimConnection *gc) 84 static struct signon_meter *find_signon_meter(GaimConnection *gc)
83 { 85 {
84 GSList *m = meter_win ? meter_win->meters : NULL; 86 GSList *m = meter_win ? meter_win->meters : NULL;
87 struct signon_meter *meter;
85 88
86 while (m) { 89 while (m) {
87 if (((struct signon_meter *)m->data)->account == gc->account) 90 meter = m->data;
91 if (meter->account == gaim_connection_get_account(gc))
88 return m->data; 92 return m->data;
89 m = m->next; 93 m = m->next;
90 } 94 }
91 95
92 return NULL; 96 return NULL;