/*
- * "$Id: printers.c 5828 2006-08-15 21:21:45Z mike $"
+ * "$Id: printers.c 5970 2006-09-19 20:11:08Z mike $"
*
* Printer routines for the Common UNIX Printing System (CUPS).
*
job->state_value = IPP_JOB_PENDING;
cupsdSaveJob(job);
+
+ cupsdAddEvent(CUPSD_EVENT_JOB_STOPPED, p, job,
+ "Job stopped due to printer being paused");
}
}
p;
p = (cupsd_printer_t *)cupsArrayNext(Printers))
{
+ /*
+ * Remove remote printers if we are no longer browsing...
+ */
+
if (!Browsing && (p->type & (CUPS_PRINTER_IMPLICIT | CUPS_PRINTER_REMOTE)))
{
if (p->type & CUPS_PRINTER_IMPLICIT)
cupsArrayRestore(Printers);
continue;
}
- else if (!(p->type & CUPS_PRINTER_REMOTE))
- cupsdSetPrinterAttrs(p);
/*
* Update the operation policy pointer...
if ((p->op_policy_ptr = cupsdFindPolicy(p->op_policy)) == NULL)
p->op_policy_ptr = DefaultPolicyPtr;
+
+ /*
+ * Update printer attributes as needed...
+ */
+
+ if (!(p->type & CUPS_PRINTER_REMOTE))
+ cupsdSetPrinterAttrs(p);
}
}
snprintf(p->state_message, sizeof(p->state_message),
"Filter \"%s\" for printer \"%s\" not available: %s",
program, p->name, strerror(errno));
- cupsdSetPrinterState(p, IPP_PRINTER_STOPPED, 0);
cupsdSetPrinterReasons(p, "+cups-missing-filter-error");
- cupsdAddPrinterHistory(p);
+ cupsdSetPrinterState(p, IPP_PRINTER_STOPPED, 0);
cupsdLogMessage(CUPSD_LOG_ERROR, "%s", p->state_message);
}
/*
- * End of "$Id: printers.c 5828 2006-08-15 21:21:45Z mike $".
+ * End of "$Id: printers.c 5970 2006-09-19 20:11:08Z mike $".
*/