# HG changeset patch # User Christian Hammond # Date 1057139054 0 # Node ID 5d5bad909bc476238dcae15d44267731db7b7792 # Parent 99fbd0161cb7f6182e73960b16e22b404e1620f4 [gaim-migrate @ 6439] This should fix the Cancel All bug for real this time. committer: Tailor Script diff -r 99fbd0161cb7 -r 5d5bad909bc4 src/gtkconn.c --- a/src/gtkconn.c Wed Jul 02 09:26:27 2003 +0000 +++ b/src/gtkconn.c Wed Jul 02 09:44:14 2003 +0000 @@ -45,13 +45,25 @@ GSList *meters; } *meter_win = NULL; +static void kill_meter(struct signon_meter *meter, const char *text); + static void cancel_signon(GtkWidget *button, struct signon_meter *meter) { - if (meter->account->gc == NULL) - return; + if (meter->account->gc != NULL) { + meter->account->gc->wants_to_die = TRUE; + gaim_connection_destroy(meter->account->gc); + } + else { + kill_meter(meter, _("Done.")); - meter->account->gc->wants_to_die = TRUE; - gaim_connection_destroy(meter->account->gc); + if (gaim_connections_get_all() == NULL) { + destroy_all_dialogs(); + + gaim_blist_destroy(); + + show_login(); + } + } } static void cancel_all () {