aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-tree.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-11-19 23:04:45 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-11-20 03:50:56 +0800
commitba85b310f1a1df61709080d9361b178614bca1fb (patch)
treec9aa0d3a57d830c8520d9ef3284aa3324f20aff5 /mail/em-folder-tree.c
parentd43e7ac92af0ac35c86e874279e6439df7ecc4e0 (diff)
downloadgsoc2013-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.c14
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;