From 2d93db72a03937dc5aaca1e33b950b3b7b6a1fd6 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Tue, 26 Jun 2001 22:45:16 +0000 Subject: Since we want an error opening a folder to result in the message being 2001-06-26 Jeffrey Stedfast * camel-filter-driver.c (open_folder): Since we want an error opening a folder to result in the message being copied to Inbox (assuming no other filters get a chance to `move` it), don't record any exceptions that may occur in this function. svn path=/trunk/; revision=10515 --- camel/ChangeLog | 7 +++++++ camel/camel-filter-driver.c | 13 ++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/camel/ChangeLog b/camel/ChangeLog index 89c56e8228..c5dc946aac 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,10 @@ +2001-06-26 Jeffrey Stedfast + + * camel-filter-driver.c (open_folder): Since we want an error + opening a folder to result in the message being copied to Inbox + (assuming no other filters get a chance to `move` it), don't + record any exceptions that may occur in this function. + 2001-06-26 Dan Winship * providers/imap/camel-imap-folder.c (camel_imap_folder_selected, diff --git a/camel/camel-filter-driver.c b/camel/camel-filter-driver.c index c998577395..cc3b63f440 100644 --- a/camel/camel-filter-driver.c +++ b/camel/camel-filter-driver.c @@ -501,13 +501,16 @@ open_folder (CamelFilterDriver *driver, const char *folder_url) { struct _CamelFilterDriverPrivate *p = _PRIVATE (driver); CamelFolder *camelfolder; + CamelException ex; /* we have a lookup table of currently open folders */ camelfolder = g_hash_table_lookup (p->folders, folder_url); if (camelfolder) return camelfolder; - camelfolder = p->get_folder (driver, folder_url, p->data, p->ex); + camel_exception_init (&ex); + camelfolder = p->get_folder (driver, folder_url, p->data, &ex); + camel_exception_clear (&ex); if (camelfolder) { g_hash_table_insert (p->folders, g_strdup (folder_url), camelfolder); @@ -667,7 +670,7 @@ camel_filter_driver_filter_mbox (CamelFilterDriver *driver, const char *mbox, co msg = camel_mime_message_new (); if (camel_mime_part_construct_from_parser (CAMEL_MIME_PART (msg), mp) == -1) { - report_status (driver, CAMEL_FILTER_STATUS_END, 100, _("Failed message %d"), i); + report_status (driver, CAMEL_FILTER_STATUS_END, 100, _("Failed on message %d"), i); camel_exception_set (ex, CAMEL_EXCEPTION_SYSTEM, _("Cannot open message")); camel_object_unref (CAMEL_OBJECT (msg)); goto fail; @@ -677,7 +680,7 @@ camel_filter_driver_filter_mbox (CamelFilterDriver *driver, const char *mbox, co original_source_url ? original_source_url : source_url, ex); camel_object_unref (CAMEL_OBJECT (msg)); if (camel_exception_is_set (ex) || status == -1) { - report_status (driver, CAMEL_FILTER_STATUS_END, 100, _("Failed message %d"), i); + report_status (driver, CAMEL_FILTER_STATUS_END, 100, _("Failed on message %d"), i); goto fail; } @@ -686,12 +689,12 @@ camel_filter_driver_filter_mbox (CamelFilterDriver *driver, const char *mbox, co /* skip over the FROM_END state */ camel_mime_parser_step (mp, 0, 0); } - + if (p->defaultfolder) { report_status(driver, CAMEL_FILTER_STATUS_PROGRESS, 100, _("Syncing folder")); camel_folder_sync(p->defaultfolder, FALSE, ex); } - + report_status (driver, CAMEL_FILTER_STATUS_END, 100, _("Complete")); return 0; -- cgit v1.2.3