aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-disco-store.c
diff options
context:
space:
mode:
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;
}