summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2015-11-13 16:12:17 +0100
committerMilan Crha <mcrha@redhat.com>2015-11-13 16:14:54 +0100
commitf071e7a326485926323a85c3ed6b48b86437fb3a (patch)
treedd5f0d7753d2028471fb2fdff1dd181c57bf27c8
parent47488aeaf6a85f20e762c07664f2a40bd64192cf (diff)
downloadevolution-data-server-f071e7a326485926323a85c3ed6b48b86437fb3a.tar.gz
[Camel] Check for session existence in store/folder maybe_connect
While the session is supposed to be always there, it can be gone in case of the application close, thus check for this too.
-rw-r--r--camel/camel-folder.c2
-rw-r--r--camel/camel-store.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/camel/camel-folder.c b/camel/camel-folder.c
index 4f62c7bcf..7452a8059 100644
--- a/camel/camel-folder.c
+++ b/camel/camel-folder.c
@@ -528,7 +528,7 @@ folder_maybe_connect_sync (CamelFolder *folder,
service = CAMEL_SERVICE (parent_store);
session = camel_service_ref_session (service);
status = camel_service_get_connection_status (service);
- connect = camel_session_get_online (session) && (status != CAMEL_SERVICE_CONNECTED);
+ connect = session && camel_session_get_online (session) && (status != CAMEL_SERVICE_CONNECTED);
g_clear_object (&session);
if (connect && CAMEL_IS_NETWORK_SERVICE (parent_store)) {
diff --git a/camel/camel-store.c b/camel/camel-store.c
index 6232c2b12..1514da2ec 100644
--- a/camel/camel-store.c
+++ b/camel/camel-store.c
@@ -305,7 +305,7 @@ store_maybe_connect_sync (CamelStore *store,
service = CAMEL_SERVICE (store);
session = camel_service_ref_session (service);
status = camel_service_get_connection_status (service);
- connect = camel_session_get_online (session) && (status != CAMEL_SERVICE_CONNECTED);
+ connect = session && camel_session_get_online (session) && (status != CAMEL_SERVICE_CONNECTED);
g_clear_object (&session);
if (connect && CAMEL_IS_NETWORK_SERVICE (store)) {