pidgin/plugins/disco/gtkdisco.c

changeset 27222
9daa676e9244
parent 27218
36968b1cde87
child 27265
d8e2fcfc3ebc
--- a/pidgin/plugins/disco/gtkdisco.c	Wed Jun 03 04:32:19 2009 +0000
+++ b/pidgin/plugins/disco/gtkdisco.c	Wed Jun 03 04:55:06 2009 +0000
@@ -512,7 +512,10 @@
 	dialog = pdl->dialog;
 	g_return_if_fail(dialog != NULL);
 
-	purple_debug_info("xmppdisco", "Adding service \"%s\"\n", service->name);
+	if (service != NULL)
+		purple_debug_info("xmppdisco", "Adding service \"%s\"\n", service->name);
+	else
+		purple_debug_info("xmppdisco", "Service \"%s\" has no childrens\n", parent->name);
 
 	gtk_progress_bar_pulse(GTK_PROGRESS_BAR(dialog->progress));
 
@@ -537,6 +540,12 @@
 		}
 	}
 
+	if (service == NULL) {
+		if (parent != NULL && !append)
+			gtk_tree_store_remove(pdl->model, &child);
+		return;
+	}
+
 	if (append)
 		gtk_tree_store_append(pdl->model, &iter, (parent ? &parent_iter : NULL));
 	else

mercurial