Removed trailing whitespaces
[modest] / src / hildon2 / modest-address-book.c
index 6a057ce..b160324 100644 (file)
@@ -445,10 +445,18 @@ commit_contact(EContact * contact, gboolean is_new)
        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 */
 }
@@ -591,6 +599,7 @@ run_add_email_addr_to_contact_dlg(const gchar * contact_name,
                                        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);
@@ -689,6 +698,8 @@ add_to_address_book (const gchar* address)
                            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);
@@ -806,6 +817,14 @@ static void clean_check_names_banner (CheckNamesInfo *info)
        }
 }
 
+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)
 {
@@ -875,30 +894,13 @@ modest_address_book_check_names (ModestRecptEditor *recpt_editor, gboolean updat
 
                                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);
 
@@ -1107,9 +1109,9 @@ resolve_address (const gchar *address,
                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 */
@@ -1216,6 +1218,8 @@ modest_address_book_has_address (const gchar *address)
                            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);