[evolution-patches][Mail]Patch fix for #325967



Dear all,

	That's patch for #325967. 
	When constructing a uri in emae_uri_changed(), camel_url_to_string()
would emit authmech information if the url->username == NULL. Because of
this reason, once the username of "Sending Email" page/tab is empty, the
infomation of authmech would be lost, and when edit the account's
preference again, "Server Requires Authentication" in "Sending Email"
tab would be FALSE.

	This patch do a check from the combo box of authmech, when building a
new url. If the username entry value in "Sending Email" tab/page is not
empty, it would pick up the lost authmech information.

	Could review it for me?

Thanks a lot.

jerry
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/mail/ChangeLog,v
retrieving revision 1.3801
diff -u -p -r1.3801 ChangeLog
--- ChangeLog	13 Feb 2006 14:36:11 -0000	1.3801
+++ ChangeLog	14 Feb 2006 10:53:38 -0000
@@ -1,3 +1,12 @@
+2006-02-14  Shi Pu <shi pu sun com>
+
+	See bug ** 325967
+	
+	* em-account-editor.c: (emae_service_url_changed):
+	When username entry value of "Sending Email" page/tab is 
+	not empty, check combo box of authmech, to pick up the authmech
+	information.
+
 2006-02-13  Karsten Bräckelmann  <guenther rudersport de>
  
 	* em-account-editor.c: Fix the Account Editor / Security option to
Index: em-account-editor.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/em-account-editor.c,v
retrieving revision 1.41
diff -u -p -r1.41 em-account-editor.c
--- em-account-editor.c	6 Feb 2006 09:16:47 -0000	1.41
+++ em-account-editor.c	14 Feb 2006 10:58:32 -0000
@@ -1128,10 +1128,32 @@ emae_uri_changed(EMAccountEditorService 
 static void
 emae_service_url_changed(EMAccountEditorService *service, void (*setval)(CamelURL *, const char *), GtkEntry *entry)
 {
+	GtkComboBox *dropdown;
+	int id;
+	GtkTreeModel *model;
+	GtkTreeIter iter;
+	CamelServiceAuthType *authtype;
+	
 	CamelURL *url = emae_account_url(service->emae, emae_service_info[service->type].account_uri_key);
 	const char *text = gtk_entry_get_text(entry);
 
 	setval(url, (text && text[0])?text:NULL);
+	
+	if (text && text[0] && setval == camel_url_set_user) {
+		dropdown = service->authtype;
+		if(dropdown) {
+			id = gtk_combo_box_get_active (dropdown);	
+			if (id != -1) {
+				model = gtk_combo_box_get_model (dropdown);
+					if (gtk_tree_model_iter_nth_child (model, &iter, NULL, id)) {
+						gtk_tree_model_get (model, &iter, 1, &authtype, -1);
+						if (authtype)
+							camel_url_set_authmech (url, authtype->authproto);
+					}
+			}
+		}
+	}
+	
 	emae_uri_changed(service, url);
 	camel_url_free(url);
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]