* Fixes 79701, we're not forcing the connection after clicking on send&receive
[modest] / src / maemo / modest-address-book.c
index 294541d..f97f647 100644 (file)
@@ -626,16 +626,12 @@ add_to_address_book (const gchar* address)
 }
 
 static gboolean
-show_check_names_banner (gpointer data)
+show_check_names_banner (gpointer userdata)
 {
-       GtkWidget **banner = (GtkWidget **) data;
+       GtkWidget **banner = (GtkWidget **) userdata;
 
-       /* We're outside the main lock */
        gdk_threads_enter ();
-
-       *banner = hildon_banner_show_animation (NULL, NULL, _("mail_ib_checking_names"));
-       g_object_ref (G_OBJECT (*banner));
-
+       *banner = modest_platform_animation_banner (NULL, NULL, _("mail_ib_checking_names"));
        gdk_threads_leave ();
 
        return FALSE;
@@ -652,22 +648,16 @@ modest_address_book_check_names (ModestRecptEditor *recpt_editor, gboolean updat
        gint offset_delta = 0;
        gint last_length;
        GtkTextIter start_iter, end_iter;
+       guint banner_timeout;
        GtkWidget *banner = NULL;
-       guint show_banner_timeout;
 
        g_return_val_if_fail (MODEST_IS_RECPT_EDITOR (recpt_editor), FALSE);
 
-       show_banner_timeout = g_timeout_add (2000, show_check_names_banner, &banner);
        recipients = modest_recpt_editor_get_recipients (recpt_editor);
        last_length = g_utf8_strlen (recipients, -1);
        modest_text_utils_get_addresses_indexes (recipients, &start_indexes, &end_indexes);
 
        if (start_indexes == NULL) {
-               g_source_remove (show_banner_timeout);
-               if (banner != NULL) {
-                       gtk_widget_destroy (banner);
-                       g_object_unref (G_OBJECT(banner));
-               }
                if (last_length != 0) {
                        hildon_banner_show_information (NULL, NULL, _("mcen_nc_no_matching_contacts"));
                        return FALSE;
@@ -676,6 +666,8 @@ modest_address_book_check_names (ModestRecptEditor *recpt_editor, gboolean updat
                }
        }
 
+       banner_timeout = g_timeout_add (500, show_check_names_banner, &banner);
+
        current_start = start_indexes;
        current_end = end_indexes;
        buffer = modest_recpt_editor_get_buffer (recpt_editor);
@@ -779,17 +771,19 @@ modest_address_book_check_names (ModestRecptEditor *recpt_editor, gboolean updat
                gtk_text_buffer_place_cursor (buffer, &end_iter);
        }
 
-       g_source_remove (show_banner_timeout);
-       if (banner != NULL) {
-               gtk_widget_destroy (banner);
-               g_object_unref (G_OBJECT (banner));
-       }
-
        g_slist_foreach (start_indexes, (GFunc) g_free, NULL);
        g_slist_foreach (end_indexes, (GFunc) g_free, NULL);
        g_slist_free (start_indexes);
        g_slist_free (end_indexes);
 
+       g_source_remove (banner_timeout);
+       if (banner != NULL) {
+               gtk_widget_destroy (banner);
+               banner = NULL;
+       } else {
+               g_source_remove (banner_timeout);
+       }
+
        return result;
 
 }