d08cd1d
diff -up cups-1.4rc1/scheduler/job.c.str3253 cups-1.4rc1/scheduler/job.c
d08cd1d
--- cups-1.4rc1/scheduler/job.c.str3253	2009-07-15 11:19:37.613132688 +0100
d08cd1d
+++ cups-1.4rc1/scheduler/job.c	2009-07-15 11:51:42.073132844 +0100
d08cd1d
@@ -3443,11 +3443,8 @@ load_job_cache(const char *filename)	/* 
d08cd1d
     {
d08cd1d
       cupsArrayAdd(Jobs, job);
d08cd1d
 
d08cd1d
-      if (job->state_value <= IPP_JOB_STOPPED)
d08cd1d
-      {
d08cd1d
-        cupsArrayAdd(ActiveJobs, job);
d08cd1d
-	cupsdLoadJob(job);
d08cd1d
-      }
d08cd1d
+      if (job->state_value <= IPP_JOB_STOPPED && cupsdLoadJob(job))
d08cd1d
+	cupsArrayAdd(ActiveJobs, job);
d08cd1d
 
d08cd1d
       job = NULL;
d08cd1d
     }
d08cd1d
@@ -3699,18 +3696,19 @@ load_request_root(void)
d08cd1d
       * Load the job...
d08cd1d
       */
d08cd1d
 
d08cd1d
-      cupsdLoadJob(job);
d08cd1d
-
d08cd1d
-     /*
d08cd1d
-      * Insert the job into the array, sorting by job priority and ID...
d08cd1d
-      */
d08cd1d
+      if (cupsdLoadJob(job))
d08cd1d
+      {
d08cd1d
+       /*
d08cd1d
+        * Insert the job into the array, sorting by job priority and ID...
d08cd1d
+        */
d08cd1d
 
d08cd1d
-      cupsArrayAdd(Jobs, job);
d08cd1d
+	cupsArrayAdd(Jobs, job);
d08cd1d
 
d08cd1d
-      if (job->state_value <= IPP_JOB_STOPPED)
d08cd1d
-        cupsArrayAdd(ActiveJobs, job);
d08cd1d
-      else
d08cd1d
-        unload_job(job);
d08cd1d
+	if (job->state_value <= IPP_JOB_STOPPED)
d08cd1d
+	  cupsArrayAdd(ActiveJobs, job);
d08cd1d
+	else
d08cd1d
+	  unload_job(job);
d08cd1d
+      }
d08cd1d
     }
d08cd1d
 
d08cd1d
   cupsDirClose(dir);