File email-appears-twice.patch of Package evolution-data-server

Index: camel/providers/groupwise/camel-groupwise-folder.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/groupwise/camel-groupwise-folder.c,v
retrieving revision 1.135
diff -u -p -r1.135 camel-groupwise-folder.c
--- camel/providers/groupwise/camel-groupwise-folder.c	6 Jun 2006 20:07:47 -0000	1.135
+++ camel/providers/groupwise/camel-groupwise-folder.c	9 Jun 2006 09:41:02 -0000
@@ -374,9 +374,17 @@ groupwise_msg_set_recipient_list (CamelM
 	}
 
 	if (org) {
+		if (org->display_name && org->display_name[0] && org->email != NULL && org->email[0] != '\0') {
+				int i;
+				for (i = 0; org->display_name[i] != '<' && 
+						org->display_name[i] != '\0';
+						i++);
+
+				org->display_name[i] = '\0';
+		}
 		if (org->display_name && org->email) 
-			ha=camel_header_address_new_name(org->display_name,org->email);
-		else 
+			ha=camel_header_address_new_name(org->display_name, org->email);
+		else if (org->display_name)
 			ha=camel_header_address_new_group(org->display_name);
 
 		subs_email=camel_header_address_list_encode(ha);	
@@ -1225,9 +1233,17 @@ gw_update_cache (CamelFolder *folder, GL
 		org = e_gw_item_get_organizer (item); 
 		if (org) {
 			GString *str;
+			int i;
 			str = g_string_new ("");
-			if (org->display_name && org->display_name[0]) 
+			if (org->display_name && org->display_name[0] && org->email != NULL && org->email[0] != '\0') {
+				for (i = 0; org->display_name[i] != '<' && 
+						org->display_name[i] != '\0';
+						i++);
+
+				org->display_name[i] = '\0';
 				str = g_string_append (str, org->display_name);
+				str = g_string_append (str, " ");
+			}
 			if (org->email && org->email[0]) { 
 				g_string_append (str, "<");
 				str = g_string_append (str, org->email);
@@ -1428,9 +1444,17 @@ gw_update_summary ( CamelFolder *folder,
 		org = e_gw_item_get_organizer (item); 
 		if (org) {
 			GString *str;
+			int i;
 			str = g_string_new ("");
-			if (org->display_name && org->display_name[0]) 
+			if (org->display_name && org->display_name[0] && org->email != NULL && org->email[0] != '\0') {
+				for (i = 0; org->display_name[i] != '<' && 
+						org->display_name[i] != '\0'; 
+						i++);
+
+				org->display_name[i] = '\0';
 				str = g_string_append (str, org->display_name);
+				str = g_string_append (str, " ");
+			}
 			if (org->email && org->email[0]) { 
 				g_string_append (str, "<");
 				str = g_string_append (str, org->email);
openSUSE Build Service is sponsored by