X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-ui-actions.c;h=e80359f74fc652b6817e6c428c6f9d321c1179c3;hp=87f8627e53adf47a110334997e0b940be7e86979;hb=933732f81601fe26dae04147d56a9c0ef151271e;hpb=9f3e076f28ec0185323c9d7b3c23dd478f12dd15 diff --git a/src/modest-ui-actions.c b/src/modest-ui-actions.c index 87f8627..e80359f 100644 --- a/src/modest-ui-actions.c +++ b/src/modest-ui-actions.c @@ -2152,20 +2152,22 @@ modest_ui_actions_on_sort (GtkAction *action, } static void -sync_folder_cb (TnyFolder *folder, - gboolean cancelled, - GError *err, +sync_folder_cb (ModestMailOperation *mail_op, + TnyFolder *folder, gpointer user_data) { ModestHeaderView *header_view = (ModestHeaderView *) user_data; - tny_folder_refresh_async (folder, NULL, NULL, NULL); - /* ModestWindow *parent = (ModestWindow *) gtk_widget_get_ancestor ((GtkWidget *) user_data, GTK_TYPE_WINDOW); */ + if (modest_mail_operation_get_status (mail_op) == MODEST_MAIL_OPERATION_STATUS_SUCCESS) { + ModestWindow *parent = (ModestWindow *) modest_mail_operation_get_source (mail_op); - /* We must clear first, because otherwise set_folder will ignore - the change as the folders are the same */ - /* modest_header_view_clear (header_view); */ - /* modest_header_view_set_folder (header_view, folder, TRUE, parent, NULL, NULL); */ + /* We must clear first, because otherwise set_folder will ignore */ + /* the change as the folders are the same */ + modest_header_view_clear (header_view); + modest_header_view_set_folder (header_view, folder, TRUE, parent, NULL, NULL); + + g_object_unref (parent); + } g_object_unref (header_view); } @@ -2193,8 +2195,11 @@ idle_refresh_folder (gpointer source) TnyFolder *folder = modest_header_view_get_folder (header_view); if (folder) { /* Sync the folder status */ - tny_folder_sync_async (folder, TRUE, sync_folder_cb, NULL, g_object_ref (header_view)); + ModestMailOperation *mail_op = modest_mail_operation_new (source); + modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), mail_op); + modest_mail_operation_sync_folder (mail_op, folder, FALSE, sync_folder_cb, g_object_ref (header_view)); g_object_unref (folder); + g_object_unref (mail_op); } }