diff options
Diffstat (limited to 'mail/e-mail-backend.c')
-rw-r--r-- | mail/e-mail-backend.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/mail/e-mail-backend.c b/mail/e-mail-backend.c index ff37b7a93a..56f2dc67b3 100644 --- a/mail/e-mail-backend.c +++ b/mail/e-mail-backend.c @@ -171,7 +171,7 @@ mail_backend_prepare_for_offline_cb (EShell *shell, } e_mail_store_foreach ( - session, (GFunc) mail_store_prepare_for_offline_cb, activity); + backend, (GFunc) mail_store_prepare_for_offline_cb, activity); } /* Helper for mail_backend_prepare_for_online_cb() */ @@ -197,7 +197,7 @@ mail_backend_prepare_for_online_cb (EShell *shell, camel_session_set_online (CAMEL_SESSION (session), TRUE); e_mail_store_foreach ( - session, (GFunc) mail_store_prepare_for_online_cb, activity); + backend, (GFunc) mail_store_prepare_for_online_cb, activity); } /* Helper for mail_backend_prepare_for_quit_cb() */ @@ -298,13 +298,13 @@ mail_backend_prepare_for_quit_cb (EShell *shell, if (delete_junk) e_mail_store_foreach ( - session, (GFunc) mail_backend_delete_junk, backend); + backend, (GFunc) mail_backend_delete_junk, backend); sync_data.activity = activity; sync_data.empty_trash = empty_trash; e_mail_store_foreach ( - session, (GFunc) mail_backend_final_sync, &sync_data); + backend, (GFunc) mail_backend_final_sync, &sync_data); /* Now we poll until all activities are actually cancelled or finished. * Reffing the activity delays quitting; the reference count @@ -572,14 +572,15 @@ mail_backend_folder_changed_cb (MailFolderCache *folder_cache, folder_type = (flags & CAMEL_FOLDER_TYPE_MASK); target->is_inbox = (folder_type == CAMEL_FOLDER_TYPE_INBOX); - model = em_folder_tree_model_get_default (mail_backend); + model = em_folder_tree_model_get_default (); target->display_name = em_folder_tree_model_get_folder_name ( model, store, folder_name); if (target->new > 0) e_shell_event (e_shell_backend_get_shell (E_SHELL_BACKEND (mail_backend)), "mail-icon", (gpointer) "mail-unread"); - /** @Event: folder.changed + /** + * @Event: folder.changed * @Title: Folder changed * @Target: EMEventTargetFolder * @@ -773,8 +774,12 @@ mail_backend_constructed (GObject *object) e_account_combo_box_set_session (CAMEL_SESSION (priv->session)); /* FIXME EMailBackend should own the default EMFolderTreeModel. */ - folder_tree_model = em_folder_tree_model_get_default (E_MAIL_BACKEND (shell_backend)); - em_folder_tree_model_set_session (folder_tree_model, priv->session); + folder_tree_model = em_folder_tree_model_get_default (); + + /* FIXME This is creating a circular reference. Perhaps the + * should only hold a weak pointer to EMailBackend? */ + em_folder_tree_model_set_backend ( + folder_tree_model, E_MAIL_BACKEND (object)); g_signal_connect ( shell, "prepare-for-offline", |