aboutsummaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2002-03-08 06:11:26 +0800
committerDan Winship <danw@src.gnome.org>2002-03-08 06:11:26 +0800
commit46af4ae9b3e55ea80553443ff34f794afb997e3c (patch)
treefffde84d5f169e54d1c0d9b990984a2f6bbb4058 /shell
parent7ad4ab01e6fd30523621ac8844f49833323979fd (diff)
downloadgsoc2013-evolution-46af4ae9b3e55ea80553443ff34f794afb997e3c.tar.gz
gsoc2013-evolution-46af4ae9b3e55ea80553443ff34f794afb997e3c.tar.zst
gsoc2013-evolution-46af4ae9b3e55ea80553443ff34f794afb997e3c.zip
fix a bug in the storage icon code
svn path=/trunk/; revision=15974
Diffstat (limited to 'shell')
-rw-r--r--shell/ChangeLog3
-rw-r--r--shell/e-storage-set-view.c13
2 files changed, 9 insertions, 7 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 0d47a6fffa..609a356c5b 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -55,8 +55,7 @@
* e-storage-set-view.c (set_e_shortcut_selection): Remove
special-case for storages.
(etree_icon_at): Remove special case for figuring out storage
- icons (but leave the code that makes the icon disappear once the
- storage is opened).
+ icons (but leave the code for storages without icons).
(etree_value_at): Remove special case for storage names. (But
still make storages always bold.) Remove unused special-case code
for Summary.
diff --git a/shell/e-storage-set-view.c b/shell/e-storage-set-view.c
index f3e8335ef5..5ebc1b50af 100644
--- a/shell/e-storage-set-view.c
+++ b/shell/e-storage-set-view.c
@@ -1363,11 +1363,18 @@ etree_icon_at (ETreeModel *etree,
path = (char*) e_tree_memory_node_get_data (E_TREE_MEMORY(etree), tree_path);
- /* No icon for a storage with children */
+ folder = e_storage_set_get_folder (storage_set, path);
+ if (folder == NULL)
+ return NULL;
+
+ /* No icon for a storage with children (or with no real root folder) */
if (path_is_storage (etree, tree_path)) {
EStorage *storage;
GList *subfolder_paths;
+ if (! strcmp (e_folder_get_type_string (folder), "noselect"))
+ return NULL;
+
storage = e_storage_set_get_storage (storage_set, path + 1);
subfolder_paths = e_storage_get_subfolder_paths (storage, "/");
if (subfolder_paths != NULL) {
@@ -1376,10 +1383,6 @@ etree_icon_at (ETreeModel *etree,
}
}
- folder = e_storage_set_get_folder (storage_set, path);
- if (folder == NULL)
- return NULL;
-
return get_pixbuf_for_folder (storage_set_view, folder);
}