[evolution-data-server] Bug 747500 - Mail account connection settings change requires restart
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Bug 747500 - Mail account connection settings change requires restart
- Date: Fri, 10 Apr 2015 05:18:57 +0000 (UTC)
commit fa523ce8303033a29096bf495f1192d1894d0f80
Author: Milan Crha <mcrha redhat com>
Date: Fri Apr 10 07:17:56 2015 +0200
Bug 747500 - Mail account connection settings change requires restart
camel/camel-service.c | 6 ++++--
camel/providers/imapx/camel-imapx-store.c | 7 ++++++-
camel/providers/nntp/camel-nntp-store.c | 7 ++++++-
camel/providers/pop3/camel-pop3-store.c | 4 ++++
camel/providers/smtp/camel-smtp-transport.c | 4 ++++
5 files changed, 24 insertions(+), 4 deletions(-)
---
diff --git a/camel/camel-service.c b/camel/camel-service.c
index 3cd9935..4285a62 100644
--- a/camel/camel-service.c
+++ b/camel/camel-service.c
@@ -922,7 +922,6 @@ service_connect_sync (CamelService *service,
GCancellable *cancellable,
GError **error)
{
- /* Default behavior for local storage providers. */
return TRUE;
}
@@ -932,7 +931,10 @@ service_disconnect_sync (CamelService *service,
GCancellable *cancellable,
GError **error)
{
- /* Default behavior for local storage providers. */
+ if (CAMEL_IS_NETWORK_SERVICE (service))
+ camel_network_service_set_connectable (
+ CAMEL_NETWORK_SERVICE (service), NULL);
+
return TRUE;
}
diff --git a/camel/providers/imapx/camel-imapx-store.c b/camel/providers/imapx/camel-imapx-store.c
index 0da35b4..40a2c49 100644
--- a/camel/providers/imapx/camel-imapx-store.c
+++ b/camel/providers/imapx/camel-imapx-store.c
@@ -774,6 +774,10 @@ imapx_connect_sync (CamelService *service,
CamelIMAPXServer *imapx_server;
gboolean success;
+ /* Chain up to parent's method. */
+ if (!CAMEL_SERVICE_CLASS (camel_imapx_store_parent_class)->connect_sync (service, cancellable, error))
+ return FALSE;
+
imapx_store = CAMEL_IMAPX_STORE (service);
imapx_server = camel_imapx_store_ref_server (imapx_store, NULL, FALSE, cancellable, error);
@@ -803,7 +807,8 @@ imapx_disconnect_sync (CamelService *service,
g_mutex_unlock (&priv->server_lock);
- return TRUE;
+ /* Chain up to parent's method. */
+ return CAMEL_SERVICE_CLASS (camel_imapx_store_parent_class)->disconnect_sync (service, clean,
cancellable, error);
}
static CamelAuthenticationResult
diff --git a/camel/providers/nntp/camel-nntp-store.c b/camel/providers/nntp/camel-nntp-store.c
index e659f0a..86a5772 100644
--- a/camel/providers/nntp/camel-nntp-store.c
+++ b/camel/providers/nntp/camel-nntp-store.c
@@ -459,6 +459,10 @@ nntp_store_connect_sync (CamelService *service,
{
CamelNNTPStore *nntp_store;
+ /* Chain up to parent's method. */
+ if (!CAMEL_SERVICE_CLASS (camel_nntp_store_parent_class)->connect_sync (service, cancellable, error))
+ return FALSE;
+
nntp_store = CAMEL_NNTP_STORE (service);
if (!connect_to_server (service, cancellable, error))
@@ -491,7 +495,8 @@ nntp_store_disconnect_sync (CamelService *service,
nntp_store_reset_state (nntp_store, NULL);
- return TRUE;
+ /* Chain up to parent's method. */
+ return CAMEL_SERVICE_CLASS (camel_nntp_store_parent_class)->disconnect_sync (service, clean,
cancellable, error);
}
extern CamelServiceAuthType camel_nntp_anonymous_authtype;
diff --git a/camel/providers/pop3/camel-pop3-store.c b/camel/providers/pop3/camel-pop3-store.c
index 56a3c99..6ac3d49 100644
--- a/camel/providers/pop3/camel-pop3-store.c
+++ b/camel/providers/pop3/camel-pop3-store.c
@@ -509,6 +509,10 @@ pop3_store_connect_sync (CamelService *service,
gboolean success = TRUE;
gchar *mechanism;
+ /* Chain up to parent's method. */
+ if (!CAMEL_SERVICE_CLASS (camel_pop3_store_parent_class)->connect_sync (service, cancellable, error))
+ return FALSE;
+
session = camel_service_ref_session (service);
user_data_dir = camel_service_get_user_data_dir (service);
diff --git a/camel/providers/smtp/camel-smtp-transport.c b/camel/providers/smtp/camel-smtp-transport.c
index 53c90ef..45f9ecc 100644
--- a/camel/providers/smtp/camel-smtp-transport.c
+++ b/camel/providers/smtp/camel-smtp-transport.c
@@ -403,6 +403,10 @@ smtp_transport_connect_sync (CamelService *service,
gboolean auth_required;
gboolean success = TRUE;
+ /* Chain up to parent's method. */
+ if (!CAMEL_SERVICE_CLASS (camel_smtp_transport_parent_class)->connect_sync (service, cancellable,
error))
+ return FALSE;
+
smtp_debug_print_server_name (service, "Connecting to");
settings = camel_service_ref_settings (service);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]