Mercurial > pidgin.yaz
diff src/multi.c @ 1817:b367beee6448
[gaim-migrate @ 1827]
reworked autorecon.c.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Sun, 06 May 2001 10:08:40 +0000 |
parents | 896432d66303 |
children | 75643b9f4261 |
line wrap: on
line diff
--- a/src/multi.c Sun May 06 09:43:20 2001 +0000 +++ b/src/multi.c Sun May 06 10:08:40 2001 +0000 @@ -613,6 +613,7 @@ serv_login(u); } } else { + u->gc->wants_to_die = TRUE; signoff(u->gc); } } @@ -627,8 +628,10 @@ if (row != -1) { u = g_list_nth_data(aim_users, row); if (u) { - if (u->gc) + if (u->gc) { + u->gc->wants_to_die = TRUE; signoff(u->gc); + } aim_users = g_list_remove(aim_users, u); save_prefs(); } @@ -784,6 +787,7 @@ static void cancel_signon(GtkWidget *button, struct gaim_connection *gc) { + gc->wants_to_die = TRUE; signoff(gc); } @@ -843,11 +847,20 @@ gtk_statusbar_push(GTK_STATUSBAR(gc->status), 1, message); } +static void set_kick_null(GtkObject *obj, struct aim_user *u) +{ + u->kick_dlg = NULL; +} + void hide_login_progress(struct gaim_connection *gc, char *why) { char buf[2048]; sprintf(buf, _("%s\n%s was unable to sign on: %s"), full_date(), gc->username, why); - do_error_dialog(buf, _("Signon Error")); + if (gc->user->kick_dlg) + gtk_widget_destroy(gc->user->kick_dlg); + gc->user->kick_dlg = do_error_dialog(buf, _("Signon Error")); + gtk_signal_connect(GTK_OBJECT(gc->user->kick_dlg), "destroy", + GTK_SIGNAL_FUNC(set_kick_null), gc->user); if (gc->meter) gtk_widget_destroy(gc->meter); gc->meter = NULL;