diff options
-rw-r--r-- | camel/ChangeLog | 7 | ||||
-rw-r--r-- | camel/providers/imap/camel-imap-summary.c | 8 |
2 files changed, 13 insertions, 2 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index a92684e636..855d9654dc 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,10 @@ +2000-11-30 Jeffrey Stedfast <fejj@helixcode.com> + + * providers/imap/camel-imap-summary.c (camel_imap_summary_new): + Handle the case where the summary failed to load - clear the + summary and then set the dirty bit so that it is sure to save + later. Is this the right fix? + 2000-11-30 Dan Winship <danw@helixcode.com> * camel-exception.c (camel_exception_setv): Remove unused diff --git a/camel/providers/imap/camel-imap-summary.c b/camel/providers/imap/camel-imap-summary.c index ebdf8b9842..9a0a638f96 100644 --- a/camel/providers/imap/camel-imap-summary.c +++ b/camel/providers/imap/camel-imap-summary.c @@ -111,10 +111,14 @@ camel_imap_summary_new (const char *filename, guint32 validity) imap_summary->validity = validity; return summary; } else { - camel_object_unref ((CamelObject *)summary); - return NULL; + /* FIXME: are there error conditions where this won't work? */ + camel_folder_summary_clear (summary); + camel_folder_summary_touch (summary); + + return summary; } } + if (imap_summary->validity != validity) { camel_folder_summary_clear (summary); imap_summary->validity = validity; |