diff options
-rw-r--r-- | mail/ChangeLog | 8 | ||||
-rw-r--r-- | mail/mail-component.c | 7 |
2 files changed, 14 insertions, 1 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 3860b802c4..9bb0d090dc 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,5 +1,13 @@ 2005-08-19 Not Zed <NotZed@Ximian.com> + ** See #312668. + + * mail-component.c (setline_done, impl_setLineStatus): change the + camel-session online status before (if we're going online) or + after (if we're going offline) actually doing offline processing. + +2005-08-19 Not Zed <NotZed@Ximian.com> + * em-format.c (emf_multipart_encrypted): put the s/mime message back, awaiting string approval for a change otherwise. diff --git a/mail/mail-component.c b/mail/mail-component.c index 15ddb760e2..ee7e20044a 100644 --- a/mail/mail-component.c +++ b/mail/mail-component.c @@ -945,6 +945,8 @@ setline_done(CamelStore *store, void *data) CORBA_exception_free(&ev); CORBA_Object_release(sd->listener, &ev); CORBA_exception_free(&ev); + if (!sd->status) + camel_session_set_online(session, sd->status); g_free(sd); } } @@ -969,7 +971,8 @@ impl_setLineStatus(PortableServer_Servant servant, CORBA_boolean status, GNOME_E /* This will dis/enable further auto-mail-check action. */ /* FIXME: If send/receive active, wait for it to finish? */ - camel_session_set_online(session, status); + if (status) + camel_session_set_online(session, status); sd = g_malloc0(sizeof(*sd)); sd->status = status; @@ -987,6 +990,8 @@ impl_setLineStatus(PortableServer_Servant servant, CORBA_boolean status, GNOME_E g_free(sd); + if (!status) + camel_session_set_online(session, status); GNOME_Evolution_Listener_complete(listener, ev); } } |