aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/imap/camel-imap-store.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2002-09-04 16:13:38 +0800
committerMichael Zucci <zucchi@src.gnome.org>2002-09-04 16:13:38 +0800
commita52720a9213d760bb8a9c21b354ab46de7b763dd (patch)
tree984be336497cf1bca255d02a0ea00428ed9e3924 /camel/providers/imap/camel-imap-store.c
parentd27b52023b0ed91a777bc838e4f9b898ca7e2201 (diff)
downloadgsoc2013-evolution-a52720a9213d760bb8a9c21b354ab46de7b763dd.tar
gsoc2013-evolution-a52720a9213d760bb8a9c21b354ab46de7b763dd.tar.gz
gsoc2013-evolution-a52720a9213d760bb8a9c21b354ab46de7b763dd.tar.bz2
gsoc2013-evolution-a52720a9213d760bb8a9c21b354ab46de7b763dd.tar.lz
gsoc2013-evolution-a52720a9213d760bb8a9c21b354ab46de7b763dd.tar.xz
gsoc2013-evolution-a52720a9213d760bb8a9c21b354ab46de7b763dd.tar.zst
gsoc2013-evolution-a52720a9213d760bb8a9c21b354ab46de7b763dd.zip
clear nonfatal stuff.
2002-09-04 Not Zed <NotZed@Ximian.com> * tests/folder/test4.c (main): clear nonfatal stuff. * tests/folder/test6.c (main): check inbox and 'another folder' because some servers do different things w/ inbox. * providers/imap/camel-imap-message-cache.c (camel_imap_message_cache_get): Dont try to open the directory instead of an empty "" uid. * providers/imap/camel-imap-folder.c (imap_get_message): we dont want to g_return_if_fail, we need to set an exception and always handle the case. (get_message_simple): Set an exception if we get a construct failure. (imap_refresh_info): if we're refreshing inbox, force a reselect. this is required for at least cryus. CHECK doesnt work either :( * tests/lib/folders.c (test_folder_basic): for non-local stores, the folder will have an extra ref for selection, take this into account when checking ref leaks. (test_folder_message_ops): Dont try to delete folder with messages in it, it works generally with imap. also, change params so we can test different mailbox types. (test_folder_message_ops): disconnect remote services before finishing off. doesn't need to stricly but makes ref count checking more accurate. (test_folder_message_ops): removed explicit remote sync, imap does it itself now ... * providers/imap/camel-imap-store.c: (camel_imap_store_finalize): call service_disconnect, so it isn't called later in the finalise chain, to properly cleanup on exit. svn path=/trunk/; revision=17962
Diffstat (limited to 'camel/providers/imap/camel-imap-store.c')
-rw-r--r--camel/providers/imap/camel-imap-store.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c
index 7eb3c3accb..af4192e0c6 100644
--- a/camel/providers/imap/camel-imap-store.c
+++ b/camel/providers/imap/camel-imap-store.c
@@ -179,20 +179,14 @@ camel_imap_store_finalize (CamelObject *object)
{
CamelImapStore *imap_store = CAMEL_IMAP_STORE (object);
+ /* This frees current_folder, folders, authtypes, streams, and namespace. */
+ camel_service_disconnect((CamelService *)imap_store, TRUE, NULL);
+
if (imap_store->summary) {
camel_store_summary_save((CamelStoreSummary *)imap_store->summary);
camel_object_unref(imap_store->summary);
}
- if (imap_store->istream)
- camel_object_unref (CAMEL_OBJECT (imap_store->istream));
-
- if (imap_store->ostream)
- camel_object_unref (CAMEL_OBJECT (imap_store->ostream));
-
- /* This frees current_folder, folders, authtypes, and namespace. */
- imap_disconnect_offline (CAMEL_SERVICE (object), FALSE, NULL);
-
if (imap_store->base_url)
g_free (imap_store->base_url);
if (imap_store->storage_path)