Blob Blame Raw
--- cups-1.2.10/cups/adminutil.c.adminutil	2007-05-21 16:39:00.000000000 +0100
+++ cups-1.2.10/cups/adminutil.c	2007-05-21 16:45:31.000000000 +0100
@@ -1260,14 +1260,21 @@
     {
       if (!wrote_browsing)
       {
+	int new_remote_printers = (remote_printers > 0 ||
+				   (remote_printers == -1 &&
+				    old_remote_printers > 0));
+	int new_share_printers = (share_printers > 0 ||
+				  (share_printers == -1 &&
+				   old_share_printers > 0));
+
         wrote_browsing = 1;
 
-        if (remote_printers > 0 || share_printers > 0)
+        if (new_remote_printers | new_share_printers)
 	{
-	  if (remote_printers > 0 && share_printers > 0)
+	  if (new_remote_printers && new_share_printers)
 	    cupsFilePuts(temp,
 	                 "# Enable printer sharing and shared printers.\n");
-	  else if (remote_printers > 0)
+	  else if (new_remote_printers)
 	    cupsFilePuts(temp,
 	                 "# Show shared printers on the local network.\n");
 	  else
@@ -1277,14 +1284,14 @@
 	  cupsFilePuts(temp, "Browsing On\n");
 	  cupsFilePuts(temp, "BrowseOrder allow,deny\n");
 
-	  if (remote_printers > 0)
+	  if (new_remote_printers)
 	  {
 	    cupsFilePuts(temp, "# (Change '@LOCAL' to 'ALL' if using "
 	                       "directed broadcasts from another subnet.)\n");
 	    cupsFilePuts(temp, "BrowseAllow @LOCAL\n");
 	  }
 
-	  if (share_printers > 0)
+	  if (new_share_printers)
 	    cupsFilePuts(temp, "BrowseAddress @LOCAL\n");
         }
 	else