]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Need to ignore trailing printer/foo null filter...
authormike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
Tue, 19 Mar 2013 18:35:14 +0000 (18:35 +0000)
committermike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
Tue, 19 Mar 2013 18:35:14 +0000 (18:35 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@10918 7a7537e8-13f0-0310-91df-b6672ffda945

scheduler/job.c

index cce4b3969d0d11f82712b773b558c8cdbbbe4a61..aed35e2924360eb46f3fa87698f684fdf12eedc7 100644 (file)
@@ -635,10 +635,31 @@ cupsdContinueJob(cupsd_job_t *job)        /* I - Job */
       goto abort_job;
     }
 
-    /* SET FINAL_CONTENT_TYPE HERE */
+   /*
+    * Figure out the final content type...
+    */
+
+    cupsdLogJob(job, CUPSD_LOG_DEBUG, "%d filters for job:",
+                cupsArrayCount(filters));
+    for (filter = (mime_filter_t *)cupsArrayFirst(filters);
+         filter;
+         filter = (mime_filter_t *)cupsArrayNext(filters))
+      cupsdLogJob(job, CUPSD_LOG_DEBUG, "%s (%s/%s to %s/%s, cost %d)",
+                 filter->filter,
+                 filter->src ? filter->src->super : "???",
+                 filter->src ? filter->src->type : "???",
+                 filter->dst ? filter->dst->super : "???",
+                 filter->dst ? filter->dst->type : "???",
+                 filter->cost);
+
     if (!job->printer->remote)
     {
-      filter = (mime_filter_t *)cupsArrayLast(filters);
+      for (filter = (mime_filter_t *)cupsArrayLast(filters);
+           filter && filter->dst;
+           filter = (mime_filter_t *)cupsArrayPrev(filters))
+        if (strcmp(filter->dst->super, "printer") ||
+            strcmp(filter->dst->type, job->printer->name))
+          break;
 
       if (filter && filter->dst)
       {