GtkWidget *transport_widget;
GtkWidget *transport_holder;
- GtkWidget *store_holder;
+ GtkWidget *store_holder;
+
+ ModestPairList *receiving_transport_store_protos;
+ ModestPairList *sending_transport_store_protos;
};
#define MODEST_ACCOUNT_ASSISTANT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \
add_receiving_page (ModestAccountAssistant *self)
{
GtkWidget *page, *box, *combo;
- ModestPairList *protos;
ModestAccountAssistantPrivate *priv;
priv = MODEST_ACCOUNT_ASSISTANT_GET_PRIVATE(self);
gtk_label_new(_("Server type")),
FALSE,FALSE,6);
- protos = modest_protocol_info_get_transport_store_protocol_pair_list (MODEST_PROTOCOL_TYPE_STORE);
- combo = modest_combo_box_new (protos, g_str_equal);
- modest_pair_list_free (protos);
+ /* Note: This ModestPairList* must exist for as long as the combo
+ * that uses it, because the ModestComboBox uses the ID opaquely,
+ * so it can't know how to manage its memory. */
+ priv->receiving_transport_store_protos =
+ modest_protocol_info_get_transport_store_protocol_pair_list ();
+ combo = modest_combo_box_new (priv->receiving_transport_store_protos, g_str_equal);
g_signal_connect (G_OBJECT(combo), "changed",
G_CALLBACK(on_receiving_combo_box_changed), self);
add_sending_page (ModestAccountAssistant *self)
{
GtkWidget *page, *box, *combo;
- ModestPairList *protos;
ModestAccountAssistantPrivate *priv;
priv = MODEST_ACCOUNT_ASSISTANT_GET_PRIVATE(self);
gtk_label_new(_("Server type")),
FALSE,FALSE,0);
- protos = modest_protocol_info_get_transport_store_protocol_pair_list (MODEST_PROTOCOL_TYPE_TRANSPORT);
- combo = modest_combo_box_new (protos, g_str_equal);
- modest_pair_list_free (protos);
+ /* Note: This ModestPairList* must exist for as long as the combo
+ * that uses it, because the ModestComboBox uses the ID opaquely,
+ * so it can't know how to manage its memory. */
+ priv->sending_transport_store_protos = modest_protocol_info_get_transport_store_protocol_pair_list ();
+ combo = modest_combo_box_new (priv->sending_transport_store_protos, g_str_equal);
g_signal_connect (G_OBJECT(combo), "changed",
G_CALLBACK(on_sending_combo_box_changed), self);
g_object_unref (G_OBJECT(priv->account_mgr));
priv->account_mgr = NULL;
}
+
+ /* These had to stay alive for as long as the comboboxes that used them: */
+ modest_pair_list_free (priv->receiving_transport_store_protos);
+ modest_pair_list_free (priv->sending_transport_store_protos);
G_OBJECT_CLASS(parent_class)->finalize (obj);
}
{
ModestAccountAssistantPrivate *priv;
ModestTransportStoreProtocol proto = MODEST_PROTOCOL_TRANSPORT_STORE_UNKNOWN;
- ModestAuthProtocol security = MODEST_PROTOCOL_SECURITY_NONE;
+ ModestAuthProtocol security = MODEST_PROTOCOL_CONNECTION_NORMAL;
ModestConnectionProtocol auth = MODEST_PROTOCOL_AUTH_NONE;
gchar *store_name, *transport_name;
const gchar *account_name, *username, *servername, *path;
modest_account_mgr_add_server_account_uri (priv->account_mgr, store_name, proto, uri);
g_free (uri);
} else
- modest_account_mgr_add_server_account (priv->account_mgr, store_name, servername,
- username, NULL, proto, security, auth);
+ modest_account_mgr_add_server_account (priv->account_mgr,
+ store_name,
+ servername,
+ 0, /* FIXME: does this mean default?*/
+ username,
+ NULL,
+ proto,
+ security,
+ auth);
/* create server account -> transport */
transport = MODEST_TRANSPORT_WIDGET(priv->transport_widget);
transport_name = get_new_server_account_name (priv->account_mgr, proto,username, servername);
modest_account_mgr_add_server_account (priv->account_mgr,
- transport_name, servername,
- username, NULL,
- proto, security, auth);
+ transport_name, servername,
+ 0, /* FIXME: does this mean default?*/
+ username, NULL,
+ proto, security, auth);
/* create account */
account_name = get_account_name (self);