--- 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