aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shortcuts.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-shortcuts.c')
-rw-r--r--shell/e-shortcuts.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/shell/e-shortcuts.c b/shell/e-shortcuts.c
index 5572207e60..28b74d239c 100644
--- a/shell/e-shortcuts.c
+++ b/shell/e-shortcuts.c
@@ -345,15 +345,21 @@ load_shortcuts (EShortcuts *shortcuts,
storage = e_storage_set_get_storage (priv->storage_set,
uri + E_SHELL_URI_PREFIX_LEN + 1);
- if (type != NULL)
- xmlFree (type);
+ if (storage != NULL) {
+ if (type != NULL)
+ xmlFree (type);
+ storage_type = e_storage_get_toplevel_node_type (storage);
+
+ if (storage_type == NULL)
+ type = NULL;
+ else
+ type = xmlMemStrdup (storage_type);
- storage_type = e_storage_get_toplevel_node_type (storage);
+ if (name != NULL)
+ xmlFree (name);
- if (storage_type == NULL)
- type = NULL;
- else
- type = xmlMemStrdup (storage_type);
+ name = xmlMemStrdup (e_storage_get_display_name (storage));
+ }
}
}