0.9.4claws73
authorChristoph Hohmann <reboot@gmx.ch>
Mon, 8 Sep 2003 12:41:29 +0000 (12:41 +0000)
committerChristoph Hohmann <reboot@gmx.ch>
Mon, 8 Sep 2003 12:41:29 +0000 (12:41 +0000)
* src/folderview.c
        o fix double adding of IMAP FolderItems to GtkCTree
        o fix crash then mbox folder is removed

ChangeLog.claws
configure.ac
src/folderview.c

index 8de1769..5bf1eb9 100644 (file)
@@ -1,3 +1,9 @@
+2003-09-08 [christoph] 0.9.4claws73
+
+       * src/folderview.c
+               o fix double adding of IMAP FolderItems to GtkCTree
+               o fix crash then mbox folder is removed
+
 2003-09-08 [christoph] 0.9.4claws72
 
        * src/folder.c
index 2c87c67..b654171 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=4
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=72
+EXTRA_VERSION=73
 if test $EXTRA_VERSION -eq 0; then
     VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}claws
 else
index bbc2981..6269ac1 100644 (file)
@@ -1954,8 +1954,6 @@ static void folderview_new_mbox_folder_cb(FolderView *folderview, guint action,
        g_free(new_folder);
        if (!new_item) return;
 
-       folderview_create_folder_node(folderview, new_item);
-
        folder_write_list();
 }
 
@@ -2180,10 +2178,11 @@ static void folderview_remove_mailbox_cb(FolderView *folderview, guint action,
        g_free(message);
        if (avalue != G_ALERTDEFAULT) return;
 
-       folder_destroy(item->folder);
-       summary_clear_all(folderview->summaryview);
        folderview_unselect(folderview);
+       summary_clear_all(folderview->summaryview);
        gtk_ctree_remove_node(ctree, node);
+
+       folder_destroy(item->folder);
        folder_write_list();
 }
 
@@ -2240,8 +2239,6 @@ static void folderview_new_imap_folder_cb(FolderView *folderview, guint action,
        }
        g_free(new_folder);
 
-       folderview_create_folder_node(folderview, new_item);
-
        folder_write_list();
 }
 
@@ -2777,7 +2774,8 @@ gboolean folderview_update_folder(gpointer source, gpointer userdata)
                GtkCTreeNode *node;
 
                node = gtk_ctree_find_by_row_data(GTK_CTREE(ctree), NULL, hookdata->item);
-               gtk_ctree_remove_node(GTK_CTREE(ctree), node);
+               if (node != NULL)
+                       gtk_ctree_remove_node(GTK_CTREE(ctree), node);
        } else if (hookdata->update_flags & FOLDER_TREE_CHANGED)
                folderview_set(folderview);
 
@@ -2947,4 +2945,3 @@ static void folderview_drag_end_cb(GtkWidget          *widget,
        g_slist_free(folderview->nodes_to_recollapse);
        folderview->nodes_to_recollapse = NULL;
 }
-