- recipients = modest_tny_msg_header_get_all_recipients_list (header);
- g_object_unref (header);
-#else
- return TRUE;
-#endif
- } else {
- recipients = modest_tny_msg_get_all_recipients_list (msg);
- g_object_unref (msg);
+ header = modest_msg_view_window_get_header (MODEST_MSG_VIEW_WINDOW (win));
+ if (!header)
+ return TRUE;
+
+ recipients = modest_tny_msg_header_get_all_recipients_list (header);
+ g_object_unref (header);
+ } else {
+ recipients = modest_tny_msg_get_all_recipients_list (msg);
+ g_object_unref (msg);
+ }
+ } else if (MODEST_IS_MSG_EDIT_WINDOW (win)) {
+ /* Get recipients */
+ gchar *joined, *after_remove;
+ MsgData *data = modest_msg_edit_window_get_msg_data ((ModestMsgEditWindow *) win);
+
+ /* We don't check the from */
+ joined = modest_text_utils_join_addresses (NULL, data->to, data->cc, data->bcc);
+ after_remove = modest_text_utils_remove_duplicate_addresses (joined);
+ g_free (joined);
+
+ recipients = modest_text_utils_split_addresses_list (after_remove);
+ g_free (after_remove);
+
+ modest_msg_edit_window_free_msg_data ((ModestMsgEditWindow *) win, data);