Index: scheduler/ipp.c =================================================================== --- scheduler/ipp.c (revision 9635) +++ scheduler/ipp.c (working copy) @@ -6994,6 +6994,7 @@ cupsd_printer_t *printer; /* Printer */ cups_array_t *list; /* Which job list... */ cups_array_t *ra; /* Requested attributes array */ + cupsd_job_t *start_element = NULL; /* First array element to check */ cupsdLogMessage(CUPSD_LOG_DEBUG2, "get_jobs(%p[%d], %s)", con, con->http.fd, @@ -7137,11 +7138,21 @@ cupsArrayAdd(ra, "job-uri"); } + if (first_job_id > 1) + { + cupsd_job_t key; + key.id = first_job_id; + start_element = (cupsd_job_t *)cupsArrayFind(list, &key); + } + + if (!start_element) + start_element = (cupsd_job_t *)cupsArrayFirst(list); + /* * OK, build a list of jobs for this printer... */ - for (count = 0, job = (cupsd_job_t *)cupsArrayFirst(list); + for (count = 0, job = start_element; (limit <= 0 || count < limit) && job; job = (cupsd_job_t *)cupsArrayNext(list)) {