start_pos = (*((gint*) current_start->data)) + offset_delta;
end_pos = (*((gint*) current_end->data)) + offset_delta;
-
+
start_ptr = g_utf8_offset_to_pointer (recipients, start_pos);
end_ptr = g_utf8_offset_to_pointer (recipients, end_pos);
}
/* Add addresses to address-book */
- if (to_commit_addresses)
- add_to_address_book (to_commit_addresses);
+ if (to_commit_addresses) {
+ to_commit_addresses = modest_text_utils_remove_duplicate_addresses_list (to_commit_addresses);
+ if (to_commit_addresses)
+ add_to_address_book (to_commit_addresses);
+ }
if (current_start == NULL) {
gtk_text_buffer_get_end_iter (buffer, &end_iter);
if (gtk_dialog_run (GTK_DIALOG (contact_dialog)) == GTK_RESPONSE_OK)
result = osso_abook_contact_chooser_get_selection (contact_dialog);
+ gtk_widget_destroy ((GtkWidget *) contact_dialog);
+
g_free (unquoted);
return result;
info = g_slice_new0 (CheckNamesInfo);
show_check_names_banner (info);
- contact_model = osso_abook_contact_model_new ();
+ contact_model = osso_abook_contact_model_get_default ();
if (!open_addressbook ()) {
hide_check_names_banner (info);
if (contact_model) {