On loading images for inserting in editor "scale on load" (fixes NB#106740)
[modest] / src / hildon2 / modest-address-book.c
index 6a057ce..6964ed3 100644 (file)
@@ -591,6 +591,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 +690,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 +809,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 +886,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);
 
@@ -1216,6 +1210,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);