diff options
-rw-r--r-- | camel/ChangeLog | 7 | ||||
-rw-r--r-- | 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 <fejj@ximian.com> + + * 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 <danw@ximian.com> * 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; |