aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers
diff options
context:
space:
mode:
Diffstat (limited to 'camel/providers')
-rw-r--r--camel/providers/local/camel-mbox-summary.c8
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)