summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2006-06-21 05:56:14 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2006-06-21 05:56:14 +0000
commitbc1dbd58d528effe89d53feb1e296464d31479c6 (patch)
treec9bab76aec699811c220c37e767fd36fd29c7285 /gtk
parent2c91a6552e809f6eb77d71c5c3f470b7f5875fe7 (diff)
downloadgtk+-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.c6
-rw-r--r--gtk/gtkprintbackend.h6
-rw-r--r--gtk/gtkprintjob.c15
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;
}