Go back to calling mail_msg_free here. (mail_msg_destroy): Remove the

2001-07-23  Not Zed  <NotZed@Ximian.com>

        * mail-mt.c (mail_msgport_replied): Go back to calling
        mail_msg_free here.
        (mail_msg_destroy): Remove the operation unregistration stuff.
        (mail_msg_received): And put it here, so we unregister as soon as
        the async part of the operation is complete.  I thought about this
        and we should be doing this anyway so we register/unregister
        always in the same thread, although the camel_operation api
        doesn't enforce it, this *is* what it expects.

        * message-list.c (regen_list_regen): re-add reporting to
        rebuilding the message list.  Basically fixes #4931

svn path=/trunk/; revision=11332
This commit is contained in:
Not Zed
2001-07-24 01:36:11 +00:00
committed by Michael Zucci
parent 8dd7c75d29
commit cb4926026f
3 changed files with 31 additions and 8 deletions

View File

@ -1,3 +1,17 @@
2001-07-23 Not Zed <NotZed@Ximian.com>
* mail-mt.c (mail_msgport_replied): Go back to calling
mail_msg_free here.
(mail_msg_destroy): Remove the operation unregistration stuff.
(mail_msg_received): And put it here, so we unregister as soon as
the async part of the operation is complete. I thought about this
and we should be doing this anyway so we register/unregister
always in the same thread, although the camel_operation api
doesn't enforce it, this *is* what it expects.
* message-list.c (regen_list_regen): re-add reporting to
rebuilding the message list. Basically fixes #4931
2001-07-23 Jeffrey Stedfast <fejj@ximian.com>
* mail-search.c (toggled_fwd_cb): Oops. Uncomment this code since

View File

@ -259,7 +259,7 @@ mail_msgport_replied(GIOChannel *source, GIOCondition cond, void *d)
if (m->ops->reply_msg)
m->ops->reply_msg(m);
mail_msg_check_error(m);
mail_msg_destroy(NULL, m, NULL);
mail_msg_free(m);
}
return TRUE;
@ -303,11 +303,6 @@ mail_msg_destroy(EThread *e, EMsg *msg, void *data)
checkmem(m->priv);
#endif
if (m->ops->describe_msg) {
camel_operation_end(m->cancel);
camel_operation_unregister(m->cancel);
}
mail_msg_free(m);
}
@ -336,6 +331,11 @@ mail_msg_received(EThread *e, EMsg *msg, void *data)
m->ops->receive_msg(m);
mail_disable_stop();
}
if (m->ops->describe_msg) {
camel_operation_end(m->cancel);
camel_operation_unregister(m->cancel);
}
}
static void mail_msg_cleanup(void)

View File

@ -2285,14 +2285,20 @@ regen_list_regen (struct _mail_msg *mm)
GPtrArray *uids, *uidnew, *showuids;
CamelMessageInfo *info;
int i;
camel_operation_register(mm->cancel);
camel_operation_start(mm->cancel, _("Updating message list"));
if (m->search)
uids = camel_folder_search_by_expression (m->folder, m->search, &mm->ex);
else
uids = camel_folder_get_uids (m->folder);
if (camel_exception_is_set (&mm->ex))
if (camel_exception_is_set (&mm->ex)) {
camel_operation_end(mm->cancel);
camel_operation_unregister(mm->cancel);
return;
}
/* perform hiding */
if (m->hideexpr) {
@ -2395,6 +2401,9 @@ regen_list_regen (struct _mail_msg *mm)
m->tree = camel_folder_thread_messages_new_summary (m->summary);
else
m->tree = NULL;
camel_operation_end(mm->cancel);
camel_operation_unregister(mm->cancel);
}
static void