* Do not block signal emissions into idles callbacks, because signal handlers are...
authorSergio Villar Senin <svillar@igalia.com>
Fri, 29 Jun 2007 10:27:11 +0000 (10:27 +0000)
committerSergio Villar Senin <svillar@igalia.com>
Fri, 29 Jun 2007 10:27:11 +0000 (10:27 +0000)
pmo-trunk-r2488

src/modest-mail-operation.c

index a8e1025..6b26cfa 100644 (file)
@@ -799,8 +799,6 @@ recurse_folders (TnyFolderStore *store, TnyFolderStoreQuery *query, TnyList *all
 static gboolean
 idle_notify_progress (gpointer data)
 {
-       gdk_threads_enter ();
-
        ModestMailOperation *mail_op = MODEST_MAIL_OPERATION (data);
        ModestMailOperationState *state;
 
@@ -808,8 +806,6 @@ idle_notify_progress (gpointer data)
        g_signal_emit (G_OBJECT (mail_op), signals[PROGRESS_CHANGED_SIGNAL], 0, state, NULL);
        g_slice_free (ModestMailOperationState, state);
        
-       gdk_threads_leave ();
-
        return TRUE;
 }
 
@@ -821,8 +817,6 @@ idle_notify_progress (gpointer data)
 static gboolean
 idle_notify_progress_once (gpointer data)
 {
-       gdk_threads_enter ();
-
        ModestPair *pair;
 
        pair = (ModestPair *) data;
@@ -833,8 +827,6 @@ idle_notify_progress_once (gpointer data)
        g_slice_free (ModestMailOperationState, (ModestMailOperationState*)pair->second);
        g_object_unref (pair->first);
 
-       gdk_threads_leave ();
-
        return FALSE;
 }
 
@@ -951,7 +943,7 @@ update_account_thread (gpointer thr_user_data)
           Gtk+. We use a timeout in order to provide more status
           information, because the sync tinymail call does not
           provide it for the moment */
-       gint timeout = g_timeout_add (250, idle_notify_progress, info->mail_op);
+       gint timeout = g_timeout_add (100, idle_notify_progress, info->mail_op);
 
        /* Refresh folders */
        new_headers = g_ptr_array_new ();