[evolution-patches] exchange settings bug patch




even though its using 'hidden host', the host is never set from NULL, since the hidden host code never sets the value from the hidden widget.

this patch forces the host to "" if it is unset currently, in the widget factory.

note that the 'old' pointer will always be NULL for the account editor, so this code is always run when the factory is called.

it feels a bit hacky to me, it is unclear from rfc1808 and camel-url whether it should actually be dropping the username part if the host part is NULL, so i'm inclined not to change it.

? plugins/exchange-account-setup/Makefile
? plugins/exchange-account-setup/Makefile.in
? plugins/exchange-account-setup/a.diff
? plugins/exchange-account-setup/exchange-account-setup.c.save
? plugins/exchange-account-setup/org-gnome-exchange-account-setup.eplug
Index: plugins/exchange-account-setup/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/plugins/exchange-account-setup/ChangeLog,v
retrieving revision 1.19
diff -u -p -r1.19 ChangeLog
--- plugins/exchange-account-setup/ChangeLog	7 Feb 2005 11:24:16 -0000	1.19
+++ plugins/exchange-account-setup/ChangeLog	21 Feb 2005 08:58:18 -0000
@@ -1,3 +1,8 @@
+2005-02-21  Not Zed  <NotZed Ximian com>
+
+	* exchange-account-setup.c (org_gnome_exchange_owa_url): if the
+	host is null in the url, set it to "", so it has a non-null value.
+
 2005-02-07  Sushma Rai  <rsushma novell com>
 	
 	* org-gnome-exchange-account-setup.eplug.in: Added plugin for adding 
Index: plugins/exchange-account-setup/exchange-account-setup.c
===================================================================
RCS file: /cvs/gnome/evolution/plugins/exchange-account-setup/exchange-account-setup.c,v
retrieving revision 1.9
diff -u -p -r1.9 exchange-account-setup.c
--- plugins/exchange-account-setup/exchange-account-setup.c	7 Feb 2005 11:24:16 -0000	1.9
+++ plugins/exchange-account-setup/exchange-account-setup.c	21 Feb 2005 08:58:18 -0000
@@ -326,6 +326,16 @@ org_gnome_exchange_owa_url(EPlugin *epl,
 
 	owa_url = camel_url_get_param(url, "owa_url");
 
+	/* if the host is null, then user+other info is dropped silently, force it to be kept */
+	if (url->host == NULL) {
+		char *uri;
+
+		camel_url_set_host(url, "");
+		uri = camel_url_to_string(url, 0);
+		e_account_set_string(target_account->account,  E_ACCOUNT_SOURCE_URL, uri);
+		g_free(uri);
+	}
+
 	row = ((GtkTable *)data->parent)->nrows;
 
 	hbox = gtk_hbox_new (FALSE, 6);


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