- if (from)
- recipients = g_slist_concat (recipients, modest_text_utils_split_addresses_list (from));
- if (to)
- recipients = g_slist_concat (recipients, modest_text_utils_split_addresses_list (to));
- if (cc)
- recipients = g_slist_concat (recipients, modest_text_utils_split_addresses_list (cc));
- if (bcc)
- recipients = g_slist_concat (recipients, modest_text_utils_split_addresses_list (bcc));
-
- g_free (from);
- g_free (to);
- g_free (cc);
- g_free (bcc);
+ if (from) {
+ tmp = g_strdup (from);
+ old_tmp = tmp;
+ g_free (from);
+ }
+ if (to) {
+ tmp = g_strjoin ("; ", old_tmp, to, NULL);
+ g_free (old_tmp);
+ old_tmp = tmp;
+ g_free (to);
+ }
+ if (cc) {
+ tmp = g_strjoin ("; ", old_tmp, cc, NULL);
+ g_free (old_tmp);
+ old_tmp = tmp;
+ g_free (cc);
+ }
+ if (bcc) {
+ tmp = g_strjoin ("; ", old_tmp, bcc, NULL);
+ g_free (old_tmp);
+ old_tmp = tmp;
+ g_free (bcc);
+ }
+
+ old_tmp = modest_text_utils_remove_duplicate_addresses (tmp);
+ recipients = modest_text_utils_split_addresses_list (old_tmp);
+ g_free (tmp);