diff options
Diffstat (limited to 'shell/e-shortcuts.c')
-rw-r--r-- | shell/e-shortcuts.c | 20 |
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)); + } } } |