diff options
Diffstat (limited to 'camel')
-rw-r--r-- | camel/ChangeLog | 6 | ||||
-rw-r--r-- | camel/providers/mbox/camel-mbox-search.c | 10 |
2 files changed, 16 insertions, 0 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index ecb01a4c17..7d3a323e66 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,9 @@ +2000-03-04 NotZed <NotZed@HelixCode.com> + + * providers/mbox/camel-mbox-search.c + (camel_mbox_folder_search_by_expression): Ref the summary + after we have got it. + 2000-03-04 bertrand <bertrand@helixcode.com> * camel-mime-part.c (my_write_content_to_stream): diff --git a/camel/providers/mbox/camel-mbox-search.c b/camel/providers/mbox/camel-mbox-search.c index 3e19adcd1a..515bd8842c 100644 --- a/camel/providers/mbox/camel-mbox-search.c +++ b/camel/providers/mbox/camel-mbox-search.c @@ -283,6 +283,16 @@ camel_mbox_folder_search_by_expression(CamelFolder *folder, const char *expressi /* setup out context */ ctx.folder = folder; ctx.summary = camel_folder_get_summary(folder, ex); + gtk_object_ref((GtkObject *)ctx.summary); + + if (camel_exception_get_id (ex)) { + printf ("Cannot get summary\n" + "Full description : %s\n", camel_exception_get_description (ex)); + /* FIXME: free shit */ + return NULL; + } + + ctx.message_info = camel_folder_summary_get_message_info_list(ctx.summary); ctx.message_current = NULL; ctx.index = ibex_open(CAMEL_MBOX_FOLDER(folder)->index_file_path, FALSE); |