From f9a7422465a5f6c05d080cdbb8b06932d45ce8df Mon Sep 17 00:00:00 2001 From: Peter Williams Date: Mon, 15 Jul 2002 15:00:05 +0000 Subject: Account for the case that when a disco store is "online" but actually 2002-07-15 Peter Williams * mail-offline-handler.c (service_is_relevant): Account for the case that when a disco store is "online" but actually offline and we're going online, we should actually connect it. * component-factory.c (mail_load_storages): Always set auto_connect to FALSE, same reason as below. * mail-session.c (mail_session_init): Initialize our session to not be online, since the shell will tell us to go online if we need to. svn path=/trunk/; revision=17459 --- mail/ChangeLog | 12 ++++++++++++ mail/component-factory.c | 3 ++- mail/mail-offline-handler.c | 4 ++-- mail/mail-session.c | 4 ++++ 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/mail/ChangeLog b/mail/ChangeLog index 676ed01190..ba1897c2ac 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,15 @@ +2002-07-15 Peter Williams + + * mail-offline-handler.c (service_is_relevant): Account for the case + that when a disco store is "online" but actually offline and we're + going online, we should actually connect it. + + * component-factory.c (mail_load_storages): Always set auto_connect + to FALSE, same reason as below. + + * mail-session.c (mail_session_init): Initialize our session to not be online, + since the shell will tell us to go online if we need to. + 2002-07-10 Peter Williams * Makefile.am (importerdir): Define this in terms of the new diff --git a/mail/component-factory.c b/mail/component-factory.c index 7fe2a4e8a1..29d47cc681 100644 --- a/mail/component-factory.c +++ b/mail/component-factory.c @@ -1409,7 +1409,8 @@ mail_load_storages (GNOME_Evolution_Shell shell, const GSList *sources) if (service == NULL || service->url == NULL || service->url[0] == '\0') continue; - mail_load_storage_by_uri (shell, service->url, name, service->enabled); + /* don't auto-connect here; the shell will tell us to goOnline */ + mail_load_storage_by_uri (shell, service->url, name, FALSE); } } diff --git a/mail/mail-offline-handler.c b/mail/mail-offline-handler.c index a24f52a79c..fa374efc73 100644 --- a/mail/mail-offline-handler.c +++ b/mail/mail-offline-handler.c @@ -48,9 +48,9 @@ service_is_relevant (CamelService *service, gboolean going_offline) (service->provider->flags & CAMEL_PROVIDER_IS_EXTERNAL)) return FALSE; - if (CAMEL_IS_DISCO_STORE (service) && going_offline && + if (CAMEL_IS_DISCO_STORE (service) && camel_disco_store_status (CAMEL_DISCO_STORE (service)) == CAMEL_DISCO_STORE_OFFLINE) - return FALSE; + return !going_offline; return service->status != CAMEL_SERVICE_DISCONNECTED; } diff --git a/mail/mail-session.c b/mail/mail-session.c index 02a67f4ee7..2fb0628301 100644 --- a/mail/mail-session.c +++ b/mail/mail-session.c @@ -979,6 +979,10 @@ mail_session_init (void) camel_dir = g_strdup_printf ("%s/mail", evolution_dir); camel_session_construct (session, camel_dir); + + /* The shell will tell us to go online. */ + camel_session_set_online ((CamelSession *)session, FALSE); + g_free (camel_dir); } -- cgit v1.2.3