diff options
author | Matthias Clasen <mclasen@redhat.com> | 2006-06-21 05:56:14 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2006-06-21 05:56:14 +0000 |
commit | bc1dbd58d528effe89d53feb1e296464d31479c6 (patch) | |
tree | c9bab76aec699811c220c37e767fd36fd29c7285 /gtk | |
parent | 2c91a6552e809f6eb77d71c5c3f470b7f5875fe7 (diff) | |
download | gtk+-bc1dbd58d528effe89d53feb1e296464d31479c6.tar.gz |
Add an GError parameter.
2006-06-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintbackend.h:
* gtk/gtkprintbackend.c (gtk_print_backend_print_stream): Add an
GError parameter.
* modules/printbackends/file/gtkprintbackendfile.c
(gtk_print_backend_file_print_stream):
* modules/printbackends/lpr/gtkprintbackendlpr.c
(gtk_print_backend_lpr_print_stream):
* modules/printbackends/cups/gtkprintbackendcups.c
(gtk_print_backend_cups_print_stream):
* gtk/gtkprintjob.c (gtk_print_job_send): Update all callers and
implementations.
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtkprintbackend.c | 6 | ||||
-rw-r--r-- | gtk/gtkprintbackend.h | 6 | ||||
-rw-r--r-- | gtk/gtkprintjob.c | 15 |
3 files changed, 18 insertions, 9 deletions
diff --git a/gtk/gtkprintbackend.c b/gtk/gtkprintbackend.c index 613d88d4be..137312f499 100644 --- a/gtk/gtkprintbackend.c +++ b/gtk/gtkprintbackend.c @@ -579,7 +579,8 @@ gtk_print_backend_print_stream (GtkPrintBackend *backend, gint data_fd, GtkPrintJobCompleteFunc callback, gpointer user_data, - GDestroyNotify dnotify) + GDestroyNotify dnotify, + GError **error) { g_return_if_fail (GTK_IS_PRINT_BACKEND (backend)); @@ -588,7 +589,8 @@ gtk_print_backend_print_stream (GtkPrintBackend *backend, data_fd, callback, user_data, - dnotify); + dnotify, + error); } void diff --git a/gtk/gtkprintbackend.h b/gtk/gtkprintbackend.h index ba08c2d546..abebbd1155 100644 --- a/gtk/gtkprintbackend.h +++ b/gtk/gtkprintbackend.h @@ -76,7 +76,8 @@ struct _GtkPrintBackendClass gint data_fd, GtkPrintJobCompleteFunc callback, gpointer user_data, - GDestroyNotify dnotify); + GDestroyNotify dnotify, + GError **error); /* Printer methods: */ void (*printer_request_details) (GtkPrinter *printer); @@ -137,7 +138,8 @@ void gtk_print_backend_print_stream (GtkPrintBackend *pri gint data_fd, GtkPrintJobCompleteFunc callback, gpointer user_data, - GDestroyNotify dnotify); + GDestroyNotify dnotify, + GError **error); GList * gtk_print_backend_load_modules (void); void gtk_print_backend_destroy (GtkPrintBackend *print_backend); diff --git a/gtk/gtkprintjob.c b/gtk/gtkprintjob.c index 9f7ffebf5b..88f1d58e8f 100644 --- a/gtk/gtkprintjob.c +++ b/gtk/gtkprintjob.c @@ -648,6 +648,7 @@ gtk_print_job_send (GtkPrintJob *job, GError **error) { GtkPrintJobPrivate *priv; + GError *print_error = NULL; g_return_val_if_fail (GTK_IS_PRINT_JOB (job), FALSE); @@ -656,12 +657,16 @@ gtk_print_job_send (GtkPrintJob *job, gtk_print_job_set_status (job, GTK_PRINT_STATUS_SENDING_DATA); lseek (priv->spool_file_fd, 0, SEEK_SET); - gtk_print_backend_print_stream (priv->backend, - job, + gtk_print_backend_print_stream (priv->backend, job, priv->spool_file_fd, - callback, - user_data, - dnotify); + callback, user_data, dnotify, + &print_error); + if (print_error) + { + g_propagate_error (error, print_error); + + return FALSE; + } return TRUE; } |