gtk+ r21368 - in branches/gtk-2-12: . modules/printbackends/cups



Author: matthiasc
Date: Fri Sep 12 04:23:29 2008
New Revision: 21368
URL: http://svn.gnome.org/viewvc/gtk+?rev=21368&view=rev

Log:
        Bug 551378 - Print dialog: should try UDS when fetching PPD for
        localhost

        * modules/printbackends/cups/gtkprintbackendcups.c: Add ability
        to get PPD file from CUPS through Unix domain socket.
        Patch by Marek Kasik



Modified:
   branches/gtk-2-12/ChangeLog
   branches/gtk-2-12/modules/printbackends/cups/gtkprintbackendcups.c

Modified: branches/gtk-2-12/modules/printbackends/cups/gtkprintbackendcups.c
==============================================================================
--- branches/gtk-2-12/modules/printbackends/cups/gtkprintbackendcups.c	(original)
+++ branches/gtk-2-12/modules/printbackends/cups/gtkprintbackendcups.c	Fri Sep 12 04:23:29 2008
@@ -1097,6 +1097,7 @@
 	  char hostname[HTTP_MAX_URI];	/* Hostname */
 	  char resource[HTTP_MAX_URI];	/* Resource name */
 	  int  port;			/* Port number */
+	  char *cups_server;            /* CUPS server */
 	  
           list_has_changed = TRUE;
 	  cups_printer = gtk_printer_cups_new (printer_name, backend);
@@ -1143,9 +1144,20 @@
             }
 
 	  gethostname (uri, sizeof (uri));
+	  cups_server = g_strdup (cupsServer());
+
 	  if (strcasecmp (uri, hostname) == 0)
 	    strcpy (hostname, "localhost");
 
+          /* if the cups server is local and listening at a unix domain socket 
+           * then use the socket connection
+           */
+	  if ((strstr (hostname, "localhost") != NULL) &&
+	      (cups_server[0] == '/'))
+	    strcpy (hostname, cups_server);
+
+	  g_free (cups_server);
+
 	  cups_printer->hostname = g_strdup (hostname);
 	  cups_printer->port = port;
 	  



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]