X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=blobdiff_plain;f=src%2Fmsgcache.c;h=00a4c72d5b549a25a2e4bf20bf4246ece6198da9;hp=e8d5b1f7f4426ee7cac2079bac27e3fed2473894;hb=b52d38ed1f3985be5e820314eb0e93422e6cbbb5;hpb=c443ed903ff7bc80d63e7871bb404cbeef81f706 diff --git a/src/msgcache.c b/src/msgcache.c index e8d5b1f7f..00a4c72d5 100644 --- a/src/msgcache.c +++ b/src/msgcache.c @@ -195,7 +195,7 @@ MsgCache *msgcache_read_cache(FolderItem *item, const gchar *cache_file) MsgCache *cache; FILE *fp; MsgInfo *msginfo; -/* MsgFlags default_flags; */ + MsgTmpFlags tmp_flags = 0; gchar file_buf[BUFFSIZE]; gint ver; guint num; @@ -220,6 +220,12 @@ MsgCache *msgcache_read_cache(FolderItem *item, const gchar *cache_file) return NULL; } + if (item->stype == F_QUEUE) { + tmp_flags |= MSG_QUEUED; + } else if (item->stype == F_DRAFT) { + tmp_flags |= MSG_DRAFT; + } + cache = msgcache_new(); g_hash_table_freeze(cache->msgnum_table); @@ -245,11 +251,8 @@ MsgCache *msgcache_read_cache(FolderItem *item, const gchar *cache_file) READ_CACHE_DATA(msginfo->references, fp); READ_CACHE_DATA(msginfo->xref, fp); -/* - MSG_SET_PERM_FLAGS(msginfo->flags, default_flags.perm_flags); - MSG_SET_TMP_FLAGS(msginfo->flags, default_flags.tmp_flags); -*/ msginfo->folder = item; + msginfo->flags.tmp_flags |= tmp_flags; g_hash_table_insert(cache->msgnum_table, &msginfo->msgnum, msginfo); if(msginfo->msgid) @@ -446,7 +449,7 @@ static void msgcache_get_msg_list_func(gpointer key, gpointer value, gpointer us GSList **listptr = user_data; MsgInfo *msginfo = value; - *listptr = g_slist_prepend(*listptr, procmsg_msginfo_new_ref(msginfo)); + *listptr = g_slist_append(*listptr, procmsg_msginfo_new_ref(msginfo)); } GSList *msgcache_get_msg_list(MsgCache *cache)