static gboolean mail_store_note_store_cb (MailFolderCache *folder_cache, CamelStore *store, CamelFolderInfo *info, gpointer user_data) { StoreInfo *store_info = user_data; if (store_info->callback != NULL) store_info->callback ( folder_cache, store, info, store_info); if (!store_info->removed) { /* This keeps message counters up-to-date. */ if (store_info->vtrash != NULL) mail_folder_cache_note_folder ( folder_cache, store_info->vtrash); if (store_info->vjunk != NULL) mail_folder_cache_note_folder ( folder_cache, store_info->vjunk); } store_info_unref (store_info); return TRUE; }
static gboolean mc_add_store_done(CamelStore *store, CamelFolderInfo *info, void *data) { struct _store_info *si = data; if (si->done) si->done(store, info, si); if (!si->removed) { /* let the counters know about the already opened junk/trash folders */ if (si->vtrash) mail_note_folder(si->vtrash); if (si->vjunk) mail_note_folder(si->vjunk); } store_info_unref(si); return TRUE; }
static void store_table_free (StoreInfo *store_info) { store_info->removed = 1; store_info_unref (store_info); }