aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ChangeLog5
-rw-r--r--shell/evolution-storage.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index a31eba7d8e..5949d98878 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,5 +1,10 @@
2000-09-08 Ettore Perazzoli <ettore@helixcode.com>
+ * evolution-storage.c (list_through_listener_foreach): Don't crash
+ on nodes with no data. [The root node has none indeed.]
+
+2000-09-08 Ettore Perazzoli <ettore@helixcode.com>
+
* e-folder-tree.c (e_folder_tree_get_folder): Return NULL if there
is no folder with that @path, instead of segfaulting.
diff --git a/shell/evolution-storage.c b/shell/evolution-storage.c
index 6a28375b9f..ec68cf31a2 100644
--- a/shell/evolution-storage.c
+++ b/shell/evolution-storage.c
@@ -63,6 +63,10 @@ list_through_listener_foreach (EFolderTree *tree,
corba_folder = (Evolution_Folder *) data;
corba_listener = (Evolution_StorageListener) closure;
+ /* The root folder has no data. */
+ if (corba_folder == NULL)
+ return;
+
CORBA_exception_init (&ev);
Evolution_StorageListener_new_folder (corba_listener, path, corba_folder, &ev);
CORBA_exception_free (&ev);