wineps: Let CUPS control the copy count rather than embedding it in the PostScript.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Huw Davies 2015-10-21 09:17:49 +01:00 committed by Alexandre Julliard
parent 18dc14ed9a
commit 631caae76d
1 changed files with 9 additions and 6 deletions

View File

@ -331,6 +331,7 @@ struct ticket_info
static void write_cups_job_ticket( PHYSDEV dev, const struct ticket_info *info )
{
PSDRV_PDEVICE *physDev = get_psdrv_dev( dev );
char buf[256];
int len;
@ -356,6 +357,14 @@ static void write_cups_job_ticket( PHYSDEV dev, const struct ticket_info *info )
write_spool( dev, str, strlen( str ) );
}
}
if (physDev->Devmode->dmPublic.u1.s1.dmCopies > 1)
{
len = snprintf( buf, sizeof(buf), "%%cupsJobTicket: copies=%d\n",
physDev->Devmode->dmPublic.u1.s1.dmCopies );
if (len > 0 && len < sizeof(buf))
write_spool( dev, buf, len );
}
}
INT PSDRV_WriteHeader( PHYSDEV dev, LPCWSTR title )
@ -414,12 +423,6 @@ INT PSDRV_WriteHeader( PHYSDEV dev, LPCWSTR title )
write_spool( dev, psendprolog, strlen(psendprolog) );
write_spool( dev, psbeginsetup, strlen(psbeginsetup) );
if(physDev->Devmode->dmPublic.u1.s1.dmCopies > 1) {
char copies_buf[100];
sprintf(copies_buf, "mark {\n << /NumCopies %d >> setpagedevice\n} stopped cleartomark\n", physDev->Devmode->dmPublic.u1.s1.dmCopies);
write_spool(dev, copies_buf, strlen(copies_buf));
}
if (slot && slot->InvocationString)
PSDRV_WriteFeature( dev, "*InputSlot", slot->Name, slot->InvocationString );