aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-10-30 02:25:42 +0800
committerDan Winship <danw@src.gnome.org>2001-10-30 02:25:42 +0800
commitd725eacdbc6eefb19791a10cf838d7db9359b04d (patch)
treecc19b62ef629039fc85ae01d06cdb22962514c48
parent0079b45c9cc2026ba084c8b8abe19288b4da1199 (diff)
downloadgsoc2013-evolution-d725eacdbc6eefb19791a10cf838d7db9359b04d.tar.gz
gsoc2013-evolution-d725eacdbc6eefb19791a10cf838d7db9359b04d.tar.zst
gsoc2013-evolution-d725eacdbc6eefb19791a10cf838d7db9359b04d.zip
if the service is being connected and thinks it's online, but the session
* camel-disco-store.c (camel_disco_store_status): if the service is being connected and thinks it's online, but the session is offline, then mark the service offline as well. Fixes 13683. svn path=/trunk/; revision=14347
-rw-r--r--camel/ChangeLog6
-rw-r--r--camel/camel-disco-store.c7
2 files changed, 13 insertions, 0 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index fbc70f6db2..7db3b2b9d8 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,3 +1,9 @@
+2001-10-29 Dan Winship <danw@ximian.com>
+
+ * camel-disco-store.c (camel_disco_store_status): if the service
+ is being connected and thinks it's online, but the session is
+ offline, then mark the service offline as well. Fixes 13683.
+
2001-10-29 <NotZed@Ximian.com>
* camel-mime-utils.c: Turn off w() -> warnings.
diff --git a/camel/camel-disco-store.c b/camel/camel-disco-store.c
index 95a3573729..b18d88924c 100644
--- a/camel/camel-disco-store.c
+++ b/camel/camel-disco-store.c
@@ -254,8 +254,15 @@ disco_get_folder_info (CamelStore *store, const char *top,
CamelDiscoStoreStatus
camel_disco_store_status (CamelDiscoStore *store)
{
+ CamelService *service = CAMEL_SERVICE (store);
+
g_return_val_if_fail (CAMEL_IS_DISCO_STORE (store), CAMEL_DISCO_STORE_ONLINE);
+ if (service->status == CAMEL_SERVICE_CONNECTING &&
+ store->status == CAMEL_DISCO_STORE_ONLINE &&
+ !camel_session_is_online (service->session))
+ store->status = CAMEL_DISCO_STORE_OFFLINE;
+
return store->status;
}