comparison src/gtkconn.c @ 7643:834570cb8d86

[gaim-migrate @ 8286] datallah seems to think that just compiling isn't enough, and that it should also be correct. Picky, picky... committer: Tailor Script <tailor@pidgin.im>
author Ethan Blanton <elb@pidgin.im>
date Wed, 26 Nov 2003 17:59:04 +0000
parents 99ae80bdffa1
children ab7497c96b1a
comparison
equal deleted inserted replaced
7642:9008b5be4275 7643:834570cb8d86
312 return; 312 return;
313 } 313 }
314 gtk_tree_model_get_value(model, &iter, 4, &val); 314 gtk_tree_model_get_value(model, &iter, 4, &val);
315 account = g_value_get_pointer(&val); 315 account = g_value_get_pointer(&val);
316 g_value_unset(&val); 316 g_value_unset(&val);
317 gaim_account_connect(account); 317 /* remove all disconnections of the account to be reconnected */
318 /* remove all disconnections of the account reconnected */
319 if (gtk_tree_model_get_iter_first(model, &iter)) { 318 if (gtk_tree_model_get_iter_first(model, &iter)) {
319 GList *l_del = NULL;
320 GaimAccount *account2 = NULL; 320 GaimAccount *account2 = NULL;
321 gboolean alreadyIterated = FALSE;
322 do { 321 do {
323 alreadyIterated = FALSE;
324 gtk_tree_model_get_value(model, &iter, 4, &val); 322 gtk_tree_model_get_value(model, &iter, 4, &val);
325 account2 = g_value_get_pointer(&val); 323 account2 = g_value_get_pointer(&val);
326 g_value_unset(&val); 324 g_value_unset(&val);
327 if (account2 == account) { 325 if (account2 == account) {
328 gtk_list_store_remove(GTK_LIST_STORE(model), &iter); 326 GtkTreePath *path = gtk_tree_model_get_path(model, &iter);
329 alreadyIterated = TRUE; 327 GtkTreeRowReference* del_row = gtk_tree_row_reference_new(model, path);
328 l_del = g_list_append(l_del, del_row);
330 } 329 }
331 g_value_unset(&val); 330 g_value_unset(&val);
332 } while (alreadyIterated || gtk_tree_model_iter_next(model, &iter)); 331 } while (gtk_tree_model_iter_next(model, &iter));
332
333 while (l_del != NULL) {
334 GtkTreeRowReference* del_row = l_del->data;
335 GtkTreePath *path = gtk_tree_row_reference_get_path(del_row);
336 if (gtk_tree_model_get_iter(model, &iter, path))
337 gtk_list_store_remove(GTK_LIST_STORE(model), &iter);
338 l_del = l_del->next;
339 }
333 } 340 }
341
342 gaim_account_connect(account);
334 343
335 if (!gtk_tree_model_get_iter_first(model, &iter)) 344 if (!gtk_tree_model_get_iter_first(model, &iter))
336 disconnect_window_hide(); 345 disconnect_window_hide();
337 else { 346 else {
338 gtk_tree_selection_select_iter(sel, &iter); 347 gtk_tree_selection_select_iter(sel, &iter);