if (OSSO_ABOOK_IS_CONTACT (contact)) {
osso_abook_contact_commit(OSSO_ABOOK_CONTACT(contact), is_new, book, NULL);
} else {
- if (is_new)
- e_book_add_contact (book, contact, NULL);
- else
- e_book_commit_contact (book, contact, NULL);
+ GError *err = NULL;
+ if (is_new) {
+ if (!e_book_add_contact (book, contact, &err)) {
+ g_warning ("Failed to add contact: %s", err->message);
+ g_error_free (err);
+ }
+ } else {
+ if (!e_book_commit_contact (book, contact, &err)) {
+ g_warning ("Failed to commit contact: %s", err->message);
+ g_error_free (err);
+ }
+ }
}
#endif /* MODEST_ABOOK_API < 2 */
}
gchar *message = g_strdup_printf(
_CS("ckdg_ib_illegal_characters_entered"),
char_in_string);
+ g_free (char_in_string);
hildon_banner_show_information (
add_email_addr_to_contact_dlg, NULL, message );
g_free (message);
err ? err->message : "<unknown>");
if (err)
g_error_free (err);
+ g_free (email);
+ e_book_query_unref (query);
return FALSE;
}
e_book_query_unref (query);
}
}
+void free_resolved_addresses_list (gpointer data,
+ gpointer ignored)
+{
+ GSList *list = (GSList *)data;
+ g_slist_foreach (list, (GFunc) g_free, NULL);
+ g_slist_free (list);
+}
+
gboolean
modest_address_book_check_names (ModestRecptEditor *recpt_editor, gboolean update_addressbook)
{
if (result) {
gint new_length;
- GSList *contact_ids_node, *resolved_addresses_node;
-
- contact_ids_node = contact_ids;
- resolved_addresses_node = resolved_addresses;
-
- while (contact_ids_node != NULL) {
- gchar *contact_id = (gchar *) contact_ids_node->data;
- GSList *resolved_addresses_for_contact =
- (GSList *) resolved_addresses_node->data;
-
- /* replace string */
- modest_recpt_editor_replace_with_resolved_recipient
- (recpt_editor,
- &start_iter, &end_iter,
- resolved_addresses_for_contact,
- contact_id);
-
- g_free (contact_id);
- g_slist_foreach (resolved_addresses_for_contact, (GFunc) g_free, NULL);
- g_slist_free (resolved_addresses_for_contact);
-
- contact_ids_node = g_slist_next (contact_ids_node);
- resolved_addresses_node = g_slist_next (resolved_addresses_node);
- }
+
+ modest_recpt_editor_replace_with_resolved_recipients (recpt_editor,
+ &start_iter, &end_iter,
+ resolved_addresses,
+ contact_ids);
+ g_slist_foreach (contact_ids, (GFunc) g_free, NULL);
+ g_slist_foreach (resolved_addresses, free_resolved_addresses_list, NULL);
g_slist_free (contact_ids);
g_slist_free (resolved_addresses);
clean_check_names_banner (info);
return FALSE;
}
- hide_check_names_banner (info);
resolved_contacts = get_contacts_for_name (address);
+ hide_check_names_banner (info);
if (resolved_contacts == NULL) {
/* no matching contacts for the search string */
err ? err->message : "<unknown>");
if (err)
g_error_free (err);
+ g_free (email);
+ e_book_query_unref (query);
return FALSE;
}
e_book_query_unref (query);