diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2013-11-19 23:04:45 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2013-11-20 03:50:56 +0800 |
commit | ba85b310f1a1df61709080d9361b178614bca1fb (patch) | |
tree | c9aa0d3a57d830c8520d9ef3284aa3324f20aff5 /mail/em-folder-tree.c | |
parent | d43e7ac92af0ac35c86e874279e6439df7ecc4e0 (diff) | |
download | gsoc2013-evolution-ba85b310f1a1df61709080d9361b178614bca1fb.tar gsoc2013-evolution-ba85b310f1a1df61709080d9361b178614bca1fb.tar.gz gsoc2013-evolution-ba85b310f1a1df61709080d9361b178614bca1fb.tar.bz2 gsoc2013-evolution-ba85b310f1a1df61709080d9361b178614bca1fb.tar.lz gsoc2013-evolution-ba85b310f1a1df61709080d9361b178614bca1fb.tar.xz gsoc2013-evolution-ba85b310f1a1df61709080d9361b178614bca1fb.tar.zst gsoc2013-evolution-ba85b310f1a1df61709080d9361b178614bca1fb.zip |
Change em_folder_tree_model_set_folder_info() argument.
Take a CamelStore instead of an EMFolderTreeModelStoreInfo.
It imposes a few extra hash table lookups to reacquire the StoreInfo
from a CamelStore while populating the folder tree, but that's fine.
Working toward making the EMFolderTreeModelStoreInfo struct private to
EMFolderTreeModel, so it can then be made thread-safe.
Diffstat (limited to 'mail/em-folder-tree.c')
-rw-r--r-- | mail/em-folder-tree.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c index 3406a6aae9..f7e7afd197 100644 --- a/mail/em-folder-tree.c +++ b/mail/em-folder-tree.c @@ -205,7 +205,6 @@ folder_tree_get_folder_info_cb (CamelStore *store, GAsyncResult *result, AsyncContext *context) { - struct _EMFolderTreeModelStoreInfo *si; CamelFolderInfo *folder_info; CamelFolderInfo *child_info; EAlertSink *alert_sink; @@ -281,12 +280,6 @@ folder_tree_get_folder_info_cb (CamelStore *store, * subscribed to any folders yet, folder_info may legitimately be * NULL at this point. We handle that case below. Proceed. */ - /* Check if the store has been removed. */ - si = em_folder_tree_model_lookup_store_info ( - EM_FOLDER_TREE_MODEL (model), store); - if (si == NULL) - goto exit; - /* Make sure we still need to load the tree subfolders. */ iter_is_placeholder = FALSE; @@ -353,8 +346,9 @@ folder_tree_get_folder_info_cb (CamelStore *store, GtkTreeRowReference *reference; /* Check if we already have this row cached. */ - reference = g_hash_table_lookup ( - si->full_hash, child_info->full_name); + reference = em_folder_tree_model_get_row_reference ( + EM_FOLDER_TREE_MODEL (model), + store, child_info->full_name); if (reference == NULL) { /* If we're on a placeholder row, reuse @@ -368,7 +362,7 @@ folder_tree_get_folder_info_cb (CamelStore *store, em_folder_tree_model_set_folder_info ( EM_FOLDER_TREE_MODEL (model), - &iter, si, child_info, TRUE); + &iter, store, child_info, TRUE); } child_info = child_info->next; |