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