aboutsummaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2001-08-29 08:21:44 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2001-08-29 08:21:44 +0800
commit5248c1282cdf4eed7193f6ac0827f4a68504400f (patch)
tree0012ea5b770740095900e86b254bae196140ca19 /shell
parent894672adbec2137b654974f85cb63d14535b3364 (diff)
downloadgsoc2013-evolution-5248c1282cdf4eed7193f6ac0827f4a68504400f.tar
gsoc2013-evolution-5248c1282cdf4eed7193f6ac0827f4a68504400f.tar.gz
gsoc2013-evolution-5248c1282cdf4eed7193f6ac0827f4a68504400f.tar.bz2
gsoc2013-evolution-5248c1282cdf4eed7193f6ac0827f4a68504400f.tar.lz
gsoc2013-evolution-5248c1282cdf4eed7193f6ac0827f4a68504400f.tar.xz
gsoc2013-evolution-5248c1282cdf4eed7193f6ac0827f4a68504400f.tar.zst
gsoc2013-evolution-5248c1282cdf4eed7193f6ac0827f4a68504400f.zip
Handle the case when there is no URI without crashing. Only add shortcuts
* e-shortcuts.c (load_shortcuts): Handle the case when there is no URI without crashing. Only add shortcuts when they are evolution: URIs. svn path=/trunk/; revision=12506
Diffstat (limited to 'shell')
-rw-r--r--shell/ChangeLog8
-rw-r--r--shell/e-shortcuts.c12
2 files changed, 14 insertions, 6 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 2b6ebf53f0..ba60165303 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,3 +1,11 @@
+2001-08-28 Ettore Perazzoli <ettore@ximian.com>
+
+ [Fix #8125, Evolution crashes while starting.]
+
+ * e-shortcuts.c (load_shortcuts): Handle the case when there is no
+ URI without crashing. Only add shortcuts when they are evolution:
+ URIs.
+
2001-08-27 Ettore Perazzoli <ettore@ximian.com>
* Evolution-ShellComponent.idl: Studlycapsize all the IDs that are
diff --git a/shell/e-shortcuts.c b/shell/e-shortcuts.c
index 6c35107be4..1f8f47b5a8 100644
--- a/shell/e-shortcuts.c
+++ b/shell/e-shortcuts.c
@@ -331,8 +331,8 @@ load_shortcuts (EShortcuts *shortcuts,
uri = xmlNodeListGetString (doc, q->childs, 1);
name = xmlGetProp (q, "name");
type = xmlGetProp (q, "type");
-
- if (strncmp (uri, E_SHELL_URI_PREFIX, E_SHELL_URI_PREFIX_LEN) == 0) {
+
+ if (uri != NULL && strncmp (uri, E_SHELL_URI_PREFIX, E_SHELL_URI_PREFIX_LEN) == 0) {
EFolder *folder;
folder = e_storage_set_get_folder (priv->storage_set, uri + E_SHELL_URI_PREFIX_LEN);
@@ -362,11 +362,11 @@ load_shortcuts (EShortcuts *shortcuts,
name = xmlMemStrdup (e_storage_get_display_name (storage));
}
}
- }
- shortcut_item = shortcut_item_new (uri, name, 0, type);
- shortcut_group->shortcuts = g_slist_prepend (shortcut_group->shortcuts,
- shortcut_item);
+ shortcut_item = shortcut_item_new (uri, name, 0, type);
+ shortcut_group->shortcuts = g_slist_prepend (shortcut_group->shortcuts,
+ shortcut_item);
+ }
if (uri != NULL)
xmlFree (uri);