- GSList *list = modest_account_mgr_get_list (self, account_name,
- MODEST_ACCOUNT_CONNECTION_SPECIFIC_SMTP_LIST,
- MODEST_CONF_VALUE_STRING, FALSE);
-
- /* The server account is in the item after the connection name: */
- GSList *list_connection = g_slist_append (list, (gpointer)connection_name);
- list_connection = g_slist_append (list_connection, (gpointer)server_account_name);
-
- /* Reset the changed list: */
- modest_account_mgr_set_list (self, account_name,
- MODEST_ACCOUNT_CONNECTION_SPECIFIC_SMTP_LIST, list_connection,
- MODEST_CONF_VALUE_STRING, FALSE);
+ ModestConf *conf = MODEST_ACCOUNT_MGR_GET_PRIVATE (self)->modest_conf;
+
+ gboolean result = TRUE;
+ GError *err = NULL;
+ GSList *list = modest_conf_get_list (conf, MODEST_CONF_CONNECTION_SPECIFIC_SMTP_LIST,
+ MODEST_CONF_VALUE_STRING, &err);
+ if (err) {
+ g_printerr ("modest: %s: error getting list: %s.\n", __FUNCTION__, err->message);
+ g_error_free (err);
+ err = NULL;
+ result = FALSE;
+ } else {
+ /* The server account is in the item after the connection name: */
+ GSList *list_connection = g_slist_append (list, (gpointer)connection_name);
+ list_connection = g_slist_append (list_connection, (gpointer)server_account_name);
+
+ /* Reset the changed list: */
+ modest_conf_set_list (conf, MODEST_CONF_CONNECTION_SPECIFIC_SMTP_LIST, list_connection,
+ MODEST_CONF_VALUE_STRING, &err);
+ if (err) {
+ g_printerr ("modest: %s: error setting list: %s.\n", __FUNCTION__, err->message);
+ g_error_free (err);
+ result = FALSE;
+ }
+ }