aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/em-account-editor.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c
index ccb42be8e9..946e93b227 100644
--- a/mail/em-account-editor.c
+++ b/mail/em-account-editor.c
@@ -1533,11 +1533,17 @@ emae_setup_settings (EMAccountEditorService *service)
EMConfigTargetAccount *target;
CamelServiceClass *class;
GType service_type;
+ CamelURL *url;
+
+ url = emae_account_url (
+ service->emae,
+ emae_service_info[service->type].account_uri_key);
/* Destroy any old CamelSettings instances.
* Changing CamelProviders invalidates them. */
if (service->settings != NULL) {
+ camel_settings_save_to_url (service->settings, url);
g_object_unref (service->settings);
service->settings = NULL;
}
@@ -1550,19 +1556,12 @@ emae_setup_settings (EMAccountEditorService *service)
class = g_type_class_ref (service_type);
if (g_type_is_a (class->settings_type, CAMEL_TYPE_SETTINGS)) {
- CamelURL *url;
-
- url = emae_account_url (
- service->emae,
- emae_service_info[service->type].account_uri_key);
-
service->settings = g_object_new (class->settings_type, NULL);
camel_settings_load_from_url (service->settings, url);
-
- camel_url_free (url);
}
g_type_class_unref (class);
+ camel_url_free (url);
/* If settings implements CamelNetworkSettings, bind the
* "security-method" property to the security combo box