summaryrefslogtreecommitdiff
path: root/gtk/gtkprintoperation.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2007-04-16 08:57:35 +0000
committerAlexander Larsson <alexl@src.gnome.org>2007-04-16 08:57:35 +0000
commitfb8638d0ac2ee8c4a78a7ea0954c750f57f36e9b (patch)
tree74538e1d48714a3c3e1b963ff0fde209989fb9c5 /gtk/gtkprintoperation.c
parenta5977fde99325b5e83696b4201679c1419234cc6 (diff)
downloadgtk+-fb8638d0ac2ee8c4a78a7ea0954c750f57f36e9b.tar.gz
Make async print preview work by actually starting the print process in
2007-04-16 Alexander Larsson <alexl@redhat.com> * gtk/gtkprintoperation.c (gtk_print_operation_run): Make async print preview work by actually starting the print process in that case (#424168) svn path=/trunk/; revision=17603
Diffstat (limited to 'gtk/gtkprintoperation.c')
-rw-r--r--gtk/gtkprintoperation.c5
1 files changed, 4 insertions, 1 deletions
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)