gtk+ r21345 - in trunk: . modules/printbackends/cups



Author: mkasik
Date: Thu Sep 11 08:47:56 2008
New Revision: 21345
URL: http://svn.gnome.org/viewvc/gtk+?rev=21345&view=rev

Log:
2008-09-11  Marek Kasik  <mkasik redhat com>

	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


Modified:
   trunk/ChangeLog
   trunk/modules/printbackends/cups/gtkprintbackendcups.c

Modified: trunk/modules/printbackends/cups/gtkprintbackendcups.c
==============================================================================
--- trunk/modules/printbackends/cups/gtkprintbackendcups.c	(original)
+++ trunk/modules/printbackends/cups/gtkprintbackendcups.c	Thu Sep 11 08:47:56 2008
@@ -1272,6 +1272,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);
@@ -1318,9 +1319,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]