diff --git a/ChangeLog b/ChangeLog index 667fe1630b..a7385ee155 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-04-16 Alexander Larsson + + * gtk/gtkprintoperation.c (gtk_print_operation_run): + Make async print preview work by actually starting + the print process in that case (#424168) + 2007-04-14 Yevgen Muntyan * gtk/gtkselection.c (selection_get_text_plain): fixed diff --git a/gtk/gtkprintoperation.c b/gtk/gtkprintoperation.c index a06f112cd7..2440a1dd71 100644 --- a/gtk/gtkprintoperation.c +++ b/gtk/gtkprintoperation.c @@ -2368,12 +2368,14 @@ gtk_print_operation_run (GtkPrintOperation *op, GtkPrintOperationResult result; GtkPageSetup *page_setup; gboolean do_print; + gboolean run_print_pages; g_return_val_if_fail (GTK_IS_PRINT_OPERATION (op), GTK_PRINT_OPERATION_RESULT_ERROR); priv = op->priv; + run_print_pages = TRUE; do_print = FALSE; priv->error = NULL; priv->action = action; @@ -2409,6 +2411,7 @@ gtk_print_operation_run (GtkPrintOperation *op, parent, print_pages); result = GTK_PRINT_OPERATION_RESULT_IN_PROGRESS; + run_print_pages = FALSE; /* print_pages is called asynchronously from dialog */ } #endif else @@ -2420,7 +2423,7 @@ gtk_print_operation_run (GtkPrintOperation *op, &do_print); } - if (result != GTK_PRINT_OPERATION_RESULT_IN_PROGRESS) + if (run_print_pages) print_pages (op, parent, do_print, result); if (priv->error && error)