diff options
-rw-r--r-- | mail/ChangeLog | 4 | ||||
-rw-r--r-- | mail/mail-ops.c | 10 |
2 files changed, 14 insertions, 0 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 6539dc7221..b500a09c60 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,7 @@ +2000-07-10 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-ops.c (real_fetch_mail): Fixed broken POP fetching + 2000-07-10 Ettore Perazzoli <ettore@helixcode.com> * component-factory.c: Removed variable `browsers'. diff --git a/mail/mail-ops.c b/mail/mail-ops.c index ad789dcd14..335b8e71f6 100644 --- a/mail/mail-ops.c +++ b/mail/mail-ops.c @@ -214,6 +214,12 @@ real_fetch_mail (gpointer user_data) } else { CamelFolder *sourcefolder; + store = camel_session_get_store (session, url, ex); + if (!store) { + async_mail_exception_dialog ("Unable to get new mail", ex, fb); + goto cleanup; + } + camel_service_connect (CAMEL_SERVICE (store), ex); if (camel_exception_get_id (ex) != CAMEL_EXCEPTION_NONE) { gtk_object_unref (GTK_OBJECT (dest_folder)); @@ -324,18 +330,22 @@ real_fetch_mail (gpointer user_data) g_free (url); if (dest_url) g_free (dest_url); + if (folder) { camel_folder_sync (folder, TRUE, ex); gtk_object_unref (GTK_OBJECT (folder)); } + if (dest_folder) { camel_folder_sync (dest_folder, TRUE, ex); gtk_object_unref (GTK_OBJECT (dest_folder)); } + if (store) { camel_service_disconnect (CAMEL_SERVICE (store), ex); gtk_object_unref (GTK_OBJECT (store)); } + if (dest_store && dest_store != fb->folder->parent_store) { camel_service_disconnect (CAMEL_SERVICE (dest_store), ex); gtk_object_unref (GTK_OBJECT (dest_store)); |