diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2001-09-28 06:32:11 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2001-09-28 06:32:11 +0800 |
commit | a0c093ed244b8187e8f1eed40ed3598493468741 (patch) | |
tree | a7ddc2877f465e196db368c764d084f43cd7d21c /camel/camel-store.c | |
parent | 7511816ec5a6f67e08d0dd4701754af8cf4b5145 (diff) | |
download | gsoc2013-evolution-a0c093ed244b8187e8f1eed40ed3598493468741.tar.gz gsoc2013-evolution-a0c093ed244b8187e8f1eed40ed3598493468741.tar.zst gsoc2013-evolution-a0c093ed244b8187e8f1eed40ed3598493468741.zip |
CRLF decode the stream before parsing it into a MIME part. This fixes bug
2001-09-27 Jeffrey Stedfast <fejj@ximian.com>
* camel-pgp-mime.c (camel_pgp_mime_part_decrypt): CRLF decode the
stream before parsing it into a MIME part. This fixes bug #10521.
* camel-store.c: Remove the old folder from the vTrash folder.
svn path=/trunk/; revision=13199
Diffstat (limited to 'camel/camel-store.c')
-rw-r--r-- | camel/camel-store.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/camel/camel-store.c b/camel/camel-store.c index 4c70ae9981..31b410604e 100644 --- a/camel/camel-store.c +++ b/camel/camel-store.c @@ -333,9 +333,11 @@ camel_store_delete_folder (CamelStore *store, const char *folder_name, CamelExce if (g_hash_table_lookup_extended(store->folders, folder_name, (void **)&key, (void **)&folder)) { g_hash_table_remove(store->folders, key); g_free(key); + camel_object_ref (CAMEL_OBJECT (folder)); CAMEL_STORE_UNLOCK(store, cache_lock); if (store->vtrash) camel_vee_folder_remove_folder((CamelVeeFolder *)store->vtrash, folder); + camel_object_unref (CAMEL_OBJECT (folder)); } else { CAMEL_STORE_UNLOCK(store, cache_lock); } @@ -373,14 +375,23 @@ camel_store_rename_folder (CamelStore *store, const char *old_name, const char * CAMEL_STORE_LOCK(store, folder_lock); CS_CLASS (store)->rename_folder (store, old_name, new_name, ex); - + /* remove the old name from the cache if it is there */ CAMEL_STORE_LOCK(store, cache_lock); if (g_hash_table_lookup_extended(store->folders, old_name, (void **)&key, (void **)&folder)) { g_hash_table_remove(store->folders, key); g_free(key); + + camel_object_ref (CAMEL_OBJECT (folder)); + + CAMEL_STORE_UNLOCK(store, cache_lock); + + if (store->vtrash) + camel_vee_folder_remove_folder (CAMEL_VEE_FOLDER (store->vtrash), folder); + camel_object_unref (CAMEL_OBJECT (folder)); + } else { + CAMEL_STORE_UNLOCK(store, cache_lock); } - CAMEL_STORE_UNLOCK(store, cache_lock); CAMEL_STORE_UNLOCK(store, folder_lock); } |