--- src/mainwindow.cpp.orig	2008-09-16 14:27:01.000000000 +0200
+++ src/mainwindow.cpp	2008-09-16 14:58:48.000000000 +0200
@@ -299,6 +299,8 @@
   gchar *workgroup = NULL, *command = NULL, *comment = NULL, *comment2 = NULL;
   gint h;
 
+  if(!parent_tree)
+      return FALSE;
 
   if (GTK_TREE(parent_tree)->children) 
     gtk_tree_remove_items(GTK_TREE(parent_tree), 
@@ -349,11 +351,15 @@
 
     while (glist->next) {
       //---get the string width in pixels----------------------------------
-      h = gdk_string_width(style->font, "DDDDDDDDDDDDDDDDD") - 
-	gdk_string_width(style->font, (gchar *)glist->next->data);
-      h /= gdk_string_width(style->font, "D");
+	if(style) {
+	    h = gdk_string_width(style->font, "DDDDDDDDDDDDDDDDD") - 
+		gdk_string_width(style->font, (gchar *)glist->next->data);
+	    h /= gdk_string_width(style->font, "D");
+		comment = g_strnfill(h, 0x20);
+	} else {
+		comment = NULL;
+	}
       
-      comment = g_strnfill(h, 0x20);
       comment2 = g_strescape(g_strconcat((gchar *)glist->next->data, comment, 
 					 (gchar *)glist2->next->data, NULL));
       g_free(comment);
@@ -414,6 +420,9 @@
   gchar *ShareName = new gchar[100];
   gint h;
 
+  if(!parent_tree)
+      return FALSE;
+
   /* Get the text on this treeitem into "workgroup" */
   item = GTK_TREE(parent_tree)->tree_owner;
   server = g_strdup_printf("%s", gtk_tree_item_get_text(item));
@@ -478,9 +487,11 @@
     while (glist->next) {
       if (g_strncasecmp((gchar *)glist->next->data, "Error", 5)) {
 	g_strdup_printf(ShareName,"%s", (gchar *)glist->next->data);
-	h = gdk_string_width(style->font, "DDDDDDDDDDDDDDDDDDD") - 
-	  gdk_string_width(style->font, (gchar *)glist->next->data);
-	h /= gdk_string_width(style->font, " ");
+	if (style) {
+	    h = gdk_string_width(style->font, "DDDDDDDDDDDDDDDDDDD") - 
+		gdk_string_width(style->font, (gchar *)glist->next->data);
+	    h /= gdk_string_width(style->font, " ");
+	}
 	comment = g_strnfill(h, 0x20);
 	comment2 = g_strconcat((gchar *)glist->next->data, comment, 
 			       (gchar *)glist3->next->data, NULL);
