From 854fb9e9b0d6a603f4167b7fafe2a59854bdbec5 Mon Sep 17 00:00:00 2001 From: Jason Leach Date: Fri, 10 Aug 2001 18:25:31 +0000 Subject: Remove all the messages from a folder that's being deleted before actually 2001-08-10 Jason Leach * mail-ops.c (remove_folder_get): Remove all the messages from a folder that's being deleted before actually doing the camel_store_delete_folder, so it won't leave behind an mbox file that's going to prevent the actual directory from being deleted, and strange effects like new folders with the same name being made in it's place. Bug #5618. * mail-folder-cache.c (mail_folder_cache_remove_folder): New function, a way to get something out of the folder cache, like folders being deleted. Bug #6878. svn path=/trunk/; revision=11887 --- mail/mail-folder-cache.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'mail/mail-folder-cache.c') diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c index 208b231e40..9e7d0f2e0f 100644 --- a/mail/mail-folder-cache.c +++ b/mail/mail-folder-cache.c @@ -573,6 +573,24 @@ mail_folder_cache_set_update_lstorage (const gchar *uri, UNLOCK_FOLDERS (); } +void +mail_folder_cache_remove_folder (const gchar *uri) +{ + if (uri && *uri) { + mail_folder_info *mfi; + + mfi = g_hash_table_lookup (folders, uri); + + /* Free everything we've allocated for this folder info */ + g_free (mfi->uri); + g_free (mfi->path); + g_free (mfi->name); + + /* Remove it from the hash */ + g_hash_table_remove (folders, uri); + } +} + void mail_folder_cache_note_folder (const gchar *uri, CamelFolder *folder) { -- cgit v1.2.3