aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog8
-rw-r--r--mail/mail-component.c7
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);
}
}