diff gtk/gtkconn.c @ 14722:51685370de57

[gaim-migrate @ 17476] Implement the network manager stuff for wingaim. Also, fix some assertions and fix the freeing of the autorecon data without removing it from the hash. committer: Tailor Script <tailor@pidgin.im>
author Daniel Atallah <daniel.atallah@gmail.com>
date Fri, 13 Oct 2006 02:31:36 +0000
parents 05c34aabdcc3
children 18d1c7cbb352
line wrap: on
line diff
--- a/gtk/gtkconn.c	Fri Oct 13 00:37:44 2006 +0000
+++ b/gtk/gtkconn.c	Fri Oct 13 02:31:36 2006 +0000
@@ -79,8 +79,7 @@
 		gtk_gaim_status_box_set_connecting(GTK_GAIM_STATUS_BOX(gtkblist->statusbox),
 					   (gaim_connections_get_connecting() != NULL));
 
-	if (hash != NULL)
-		g_hash_table_remove(hash, account);
+	g_hash_table_remove(hash, account);
 
 	gaim_gtk_blist_update_account_error_state(account, NULL);
 }
@@ -204,10 +203,9 @@
 
 	while (list) {
 		GaimAccount *account = (GaimAccount*)list->data;
-		GaimAutoRecon *info = g_hash_table_lookup(hash, account);
-		if (info)
-			free_auto_recon(info);
-		do_signon(account);
+		g_hash_table_remove(hash, account);
+		if (gaim_account_is_disconnected(account))
+			do_signon(account);
 		list = list->next;
 	}
 }
@@ -222,7 +220,8 @@
 
 	while (l) {
 		GaimAccount *a = (GaimAccount*)l->data;
-		gaim_account_disconnect(a);
+		if (!gaim_account_is_disconnected(a))
+			gaim_account_disconnect(a);
 		l = l->next;
 	}
 }