diff options
Diffstat (limited to 'camel/providers')
-rw-r--r-- | camel/providers/local/camel-mbox-summary.c | 8 |
1 files changed, 6 insertions, 2 deletions
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) |