- const gchar* hostname = gtk_entry_get_text (GTK_ENTRY (priv->entry_outgoingserver));
- gboolean test = modest_account_mgr_set_string (account_manager, server_account_name,
- MODEST_ACCOUNT_HOSTNAME, hostname, TRUE /* server account */);
- if (!test)
- return FALSE;
-
- const gchar* username = gtk_entry_get_text (GTK_ENTRY (priv->entry_user_username));
- test = modest_account_mgr_set_string (account_manager, server_account_name,
- MODEST_ACCOUNT_USERNAME, username, TRUE /* server account */);
- if (!test)
- return FALSE;
-
- const gchar* password = gtk_entry_get_text (GTK_ENTRY (priv->entry_user_password));
- test = modest_account_mgr_set_string (account_manager, server_account_name,
- MODEST_ACCOUNT_PASSWORD, password, TRUE /* server account */);
- if (!test)
- return FALSE;
+ /* Use g_slice_new0(), because that's what modest_account_mgr_free_server_account_data()
+ * expects us to use. */
+ ModestServerAccountData *result = g_slice_new0 (ModestServerAccountData);
+
+ result->hostname = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry_outgoingserver)));
+ result->username = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry_user_username)));
+ result->password = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry_user_password)));