Blame SOURCES/cups-str4648.patch

68a3ed
diff -up cups-1.6.3/scheduler/ipp.c.str4648 cups-1.6.3/scheduler/ipp.c
68a3ed
--- cups-1.6.3/scheduler/ipp.c.str4648	2015-07-08 10:24:31.389942557 +0100
68a3ed
+++ cups-1.6.3/scheduler/ipp.c	2015-07-08 10:24:51.042104284 +0100
68a3ed
@@ -3392,6 +3392,8 @@ cancel_all_jobs(cupsd_client_t  *con,	/*
68a3ed
   }
68a3ed
 
68a3ed
   con->response->request.status.status_code = IPP_OK;
68a3ed
+
68a3ed
+  cupsdCheckJobs();
68a3ed
 }
68a3ed
 
68a3ed
 
68a3ed
diff -up cups-1.6.3/scheduler/job.c.str4648 cups-1.6.3/scheduler/job.c
68a3ed
--- cups-1.6.3/scheduler/job.c.str4648	2015-07-08 10:24:31.399942636 +0100
68a3ed
+++ cups-1.6.3/scheduler/job.c	2015-07-08 10:24:51.043104293 +0100
68a3ed
@@ -267,8 +267,6 @@ cupsdCancelJobs(const char *dest,	/* I -
68a3ed
 			 "Job canceled by user.");
68a3ed
     }
68a3ed
   }
68a3ed
-
68a3ed
-  cupsdCheckJobs();
68a3ed
 }
68a3ed
 
68a3ed
 
68a3ed
@@ -3488,13 +3486,6 @@ finalize_job(cupsd_job_t *job,		/* I - J
68a3ed
 
68a3ed
   job->printer->job = NULL;
68a3ed
   job->printer      = NULL;
68a3ed
-
68a3ed
- /*
68a3ed
-  * Try printing another job...
68a3ed
-  */
68a3ed
-
68a3ed
-  if (printer_state != IPP_PRINTER_STOPPED)
68a3ed
-    cupsdCheckJobs();
68a3ed
 }
68a3ed
 
68a3ed
 
68a3ed
@@ -4744,6 +4735,8 @@ update_job(cupsd_job_t *job)		/* I - Job
68a3ed
 		*ptr;			/* Pointer update... */
68a3ed
   int		loglevel,		/* Log level for message */
68a3ed
 		event = 0;		/* Events? */
68a3ed
+  cupsd_printer_t *printer = job->printer;
68a3ed
+					/* Printer */
68a3ed
   static const char * const levels[] =	/* Log levels */
68a3ed
 		{
68a3ed
 		  "NONE",
68a3ed
@@ -5063,10 +5056,11 @@ update_job(cupsd_job_t *job)		/* I - Job
68a3ed
     finalize_job(job, 1);
68a3ed
 
68a3ed
    /*
68a3ed
-    * Check for new jobs...
68a3ed
+    * Try printing another job...
68a3ed
     */
68a3ed
 
68a3ed
-    cupsdCheckJobs();
68a3ed
+    if (printer->state != IPP_PRINTER_STOPPED)
68a3ed
+      cupsdCheckJobs();
68a3ed
   }
68a3ed
 }
68a3ed