From 1bf86f0537be17e8a28ba316092e10bd44669e54 Mon Sep 17 00:00:00 2001 From: hiro Date: Thu, 5 Nov 2009 10:30:04 +0000 Subject: add a new flag: RemoteFolder::remove_cache_on_destroy. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2334 ee746299-78ed-0310-b773-934348b2243d --- libsylph/imap.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'libsylph/imap.c') diff --git a/libsylph/imap.c b/libsylph/imap.c index 7459e71c..c69ed0fe 100644 --- a/libsylph/imap.c +++ b/libsylph/imap.c @@ -476,20 +476,22 @@ static Folder *imap_folder_new(const gchar *name, const gchar *path) static void imap_folder_destroy(Folder *folder) { - gchar *dir; - g_return_if_fail(folder->account != NULL); - dir = folder_get_path(folder); - if (is_dir_exist(dir)) - remove_dir_recursive(dir); - g_free(dir); + if (REMOTE_FOLDER(folder)->remove_cache_on_destroy) { + gchar *dir; - dir = g_strconcat(get_imap_cache_dir(), G_DIR_SEPARATOR_S, - folder->account->recv_server, NULL); - if (is_dir_exist(dir)) - g_rmdir(dir); - g_free(dir); + dir = folder_get_path(folder); + if (is_dir_exist(dir)) + remove_dir_recursive(dir); + g_free(dir); + + dir = g_strconcat(get_imap_cache_dir(), G_DIR_SEPARATOR_S, + folder->account->recv_server, NULL); + if (is_dir_exist(dir)) + g_rmdir(dir); + g_free(dir); + } folder_remote_folder_destroy(REMOTE_FOLDER(folder)); } -- cgit v1.2.3