aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-disco-store.c
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 /camel/camel-disco-store.c
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
Diffstat (limited to 'camel/camel-disco-store.c')
-rw-r--r--camel/camel-disco-store.c7
1 files changed, 7 insertions, 0 deletions
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;
}