aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog6
-rw-r--r--camel/providers/local/camel-mbox-summary.c8
2 files changed, 12 insertions, 2 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index c7a9da9176..a1980dd42c 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,3 +1,9 @@
+2001-07-20 Peter Williams <peterw@ximian.com>
+
+ * providers/local/camel-mbox-summary.c (mbox_summary_sync): More
+ usage fixes for CamelException. Check our own exception for
+ summary_update and xfer it out if an error occurred.
+
2001-07-20 JP Rosevear <jpr@ximian.com>
* Pull up test fixes to get them building again
diff --git a/camel/providers/local/camel-mbox-summary.c b/camel/providers/local/camel-mbox-summary.c
index c24cf4133c..8a61d63ed1 100644
--- a/camel/providers/local/camel-mbox-summary.c
+++ b/camel/providers/local/camel-mbox-summary.c
@@ -829,6 +829,7 @@ static int
mbox_summary_sync(CamelLocalSummary *cls, gboolean expunge, CamelFolderChangeInfo *changeinfo, CamelException *ex)
{
struct stat st;
+ CamelException internal_ex;
CamelMboxSummary *mbs = (CamelMboxSummary *)cls;
CamelFolderSummary *s = (CamelFolderSummary *)cls;
int i, count;
@@ -836,9 +837,12 @@ mbox_summary_sync(CamelLocalSummary *cls, gboolean expunge, CamelFolderChangeInf
int ret;
/* first, sync ourselves up, just to make sure */
- summary_update(cls, mbs->folder_size, changeinfo, ex);
- if (camel_exception_is_set(ex))
+ camel_exception_init (&internal_ex);
+ summary_update(cls, mbs->folder_size, changeinfo, &internal_ex);
+ if (camel_exception_is_set(&internal_ex)) {
+ camel_exception_xfer (ex, &internal_ex);
return -1;
+ }
count = camel_folder_summary_count(s);
if (count == 0)