aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2000-09-09 06:16:27 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2000-09-09 06:16:27 +0800
commitcebba7fc5ed18da8460c971a47fff7c7dabe613a (patch)
treedcc090a397b72d5eff772c0613570e058776aa1c
parentc884f5a0148fa2202108cf53645656db5f0e4636 (diff)
downloadgsoc2013-evolution-cebba7fc5ed18da8460c971a47fff7c7dabe613a.tar.gz
gsoc2013-evolution-cebba7fc5ed18da8460c971a47fff7c7dabe613a.tar.zst
gsoc2013-evolution-cebba7fc5ed18da8460c971a47fff7c7dabe613a.zip
Fix a stupid crash caused by not taking account of the fact that the
root node has no folder associated with it. svn path=/trunk/; revision=5277
-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);