aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-account-editor.c
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@gnome-db.org>2011-11-02 21:41:55 +0800
committerRodrigo Moya <rodrigo@gnome-db.org>2011-11-02 21:41:55 +0800
commit0849af1df6b923a534b3982406d690bb344355ab (patch)
treea85e9a409d0da412f7e84b218a0c46f6ad5141df /mail/em-account-editor.c
parent5182ae7cef949001e6aa8b36f1c8fa1694570f98 (diff)
parentbcf8dbb96f31e1b7fcca3a179f64885ca04ff565 (diff)
downloadgsoc2013-evolution-0849af1df6b923a534b3982406d690bb344355ab.tar.gz
gsoc2013-evolution-0849af1df6b923a534b3982406d690bb344355ab.tar.zst
gsoc2013-evolution-0849af1df6b923a534b3982406d690bb344355ab.zip
Merge branch 'master' into wip/gsettings
Diffstat (limited to 'mail/em-account-editor.c')
-rw-r--r--mail/em-account-editor.c31
1 files changed, 26 insertions, 5 deletions
diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c
index 70a392a327..036570730c 100644
--- a/mail/em-account-editor.c
+++ b/mail/em-account-editor.c
@@ -2161,12 +2161,10 @@ emae_setup_service (EMAccountEditor *emae,
EAccount *account;
struct _service_info *info = &emae_service_info[service->type];
CamelURL *url = emae_account_url (emae, info->account_uri_key);
- const gchar *uri;
account = em_account_editor_get_modified_account (emae);
- uri = e_account_get_string (account, info->account_uri_key);
- service->provider = uri ? camel_provider_get (uri, NULL) : NULL;
+ service->provider = url && url->protocol ? camel_provider_get (url->protocol, NULL) : NULL;
/* Extract all widgets we need from the builder file. */
@@ -4071,9 +4069,21 @@ emae_commit (EConfig *ec,
url = camel_url_new (modified_account->source->url, NULL);
if (url != NULL) {
- if (emae->priv->source.settings != NULL)
+ if (emae->priv->source.settings != NULL) {
+ gchar *host = g_strdup (url->host);
+ gchar *path = g_strdup (url->path);
+ gint port = url->port;
+
camel_settings_save_to_url (
emae->priv->source.settings, url);
+
+ camel_url_set_host (url, host);
+ camel_url_set_path (url, path);
+ camel_url_set_port (url, port);
+
+ g_free (host);
+ g_free (path);
+ }
g_free (modified_account->source->url);
modified_account->source->url = camel_url_to_string (url, 0);
camel_url_free (url);
@@ -4081,9 +4091,20 @@ emae_commit (EConfig *ec,
url = camel_url_new (modified_account->transport->url, NULL);
if (url != NULL) {
- if (emae->priv->transport.settings != NULL)
+ if (emae->priv->transport.settings != NULL) {
+ gchar *host = g_strdup (url->host);
+ gchar *path = g_strdup (url->path);
+ gint port = url->port;
+
camel_settings_save_to_url (
emae->priv->transport.settings, url);
+ camel_url_set_host (url, host);
+ camel_url_set_path (url, path);
+ camel_url_set_port (url, port);
+
+ g_free (host);
+ g_free (path);
+ }
g_free (modified_account->transport->url);
modified_account->transport->url = camel_url_to_string (url, 0);
camel_url_free (url);