[gtk/gtk-3-24: 1/2] Don't try to create local cups printers before CUPS 2.2
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/gtk-3-24: 1/2] Don't try to create local cups printers before CUPS 2.2
- Date: Fri, 16 Apr 2021 19:45:13 +0000 (UTC)
commit 3d53204c75c75ba195f9489f862c01f7ff956322
Author: John Ralls <jralls ceridwen us>
Date: Fri Apr 16 12:15:45 2021 -0700
Don't try to create local cups printers before CUPS 2.2
Not supported on earlier versions.
modules/printbackends/cups/gtkprintbackendcups.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
---
diff --git a/modules/printbackends/cups/gtkprintbackendcups.c
b/modules/printbackends/cups/gtkprintbackendcups.c
index 6b8c9e02ad..d5c00f94f9 100644
--- a/modules/printbackends/cups/gtkprintbackendcups.c
+++ b/modules/printbackends/cups/gtkprintbackendcups.c
@@ -61,6 +61,10 @@
#include <colord.h>
#endif
+#if ((CUPS_VERSION_MAJOR == 2 && CUPS_VERSION_MINOR >= 2) || CUPS_VERSION_MAJOR > 2)
+#define HAVE_CUPS_2_2
+#endif
+
typedef struct _GtkPrintBackendCupsClass GtkPrintBackendCupsClass;
#define GTK_PRINT_BACKEND_CUPS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),
GTK_TYPE_PRINT_BACKEND_CUPS, GtkPrintBackendCupsClass))
@@ -242,10 +246,12 @@ static void secrets_service_vanished_cb (GDBusConnec
const gchar *name,
gpointer user_data);
+#ifdef HAVE_CUPS_2_2
static void create_temporary_queue (GtkPrintBackendCups *backend,
const gchar *printer_name,
const gchar *printer_uri,
const gchar *device_uri);
+#endif
static void
gtk_print_backend_cups_register_type (GTypeModule *module)
@@ -1896,10 +1902,12 @@ mark_printer_inactive (GtkPrinter *printer,
if (iter == NULL)
{
/* Recreate temporary queue since they are created for 60 seconds only. */
+#ifdef HAVE_CUPS_2_2
create_temporary_queue (GTK_PRINT_BACKEND_CUPS (backend),
gtk_printer_get_name (printer),
cups_printer->printer_uri,
cups_printer->temporary_queue_device_uri);
+#endif
}
}
else
@@ -3017,6 +3025,7 @@ cups_create_local_printer_cb (GtkPrintBackendCups *print_backend,
/*
* Create CUPS temporary queue.
*/
+#ifdef HAVE_CUPS_2_2
static void
create_temporary_queue (GtkPrintBackendCups *backend,
const gchar *printer_name,
@@ -3057,7 +3066,7 @@ create_temporary_queue (GtkPrintBackendCups *backend,
NULL,
NULL);
}
-
+#endif
/*
* Create new GtkPrinter from informations included in TXT records.
*/
@@ -4552,10 +4561,12 @@ cups_printer_request_details (GtkPrinter *printer)
if (cups_printer->avahi_browsed)
{
+#ifdef HAVE_CUPS_2_2
create_temporary_queue (GTK_PRINT_BACKEND_CUPS (gtk_printer_get_backend (printer)),
gtk_printer_get_name (printer),
cups_printer->printer_uri,
cups_printer->temporary_queue_device_uri);
+#endif
}
else if (!cups_printer->reading_ppd &&
gtk_printer_cups_get_ppd (cups_printer) == NULL)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]