summaryrefslogtreecommitdiff
path: root/src/cups/rastertoprinter.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cups/rastertoprinter.c')
-rw-r--r--src/cups/rastertoprinter.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/cups/rastertoprinter.c b/src/cups/rastertoprinter.c
index e68c90d..7cc3501 100644
--- a/src/cups/rastertoprinter.c
+++ b/src/cups/rastertoprinter.c
@@ -1124,7 +1124,6 @@ main(int argc, /* I - Number of command-line arguments */
(void) gettimeofday(&t1, NULL);
stp_init();
version_id = stp_get_version();
- default_settings = stp_vars_create();
/*
* Check for valid arguments...
@@ -1290,6 +1289,7 @@ main(int argc, /* I - Number of command-line arguments */
if (! suppress_messages)
fprintf(stderr, "DEBUG: Gutenprint: Using fd %d\n", fd);
+ default_settings = stp_vars_create_copy(stp_printer_get_defaults(printer));
stp_set_printer_defaults(default_settings, printer);
#ifdef ENABLE_CUPS_LOAD_SAVE_OPTIONS
if (load_file_name)
@@ -1335,7 +1335,7 @@ main(int argc, /* I - Number of command-line arguments */
if (! suppress_messages)
{
fprintf(stderr, "DEBUG: Gutenprint: ================ Printing page %d ================\n", cups.page + 1);
- fprintf(stderr, "PAGE: %d 1\n", cups.page + 1);
+ fprintf(stderr, "PAGE: %d %d\n", cups.page + 1, cups.header.NumCopies);
}
v = initialize_page(&cups, default_settings, page_size_name);
#ifdef ENABLE_CUPS_LOAD_SAVE_OPTIONS
@@ -1352,7 +1352,16 @@ main(int argc, /* I - Number of command-line arguments */
fprintf(stderr, "DEBUG: Gutenprint: Interim page settings:\n");
stpi_vars_print_error(v, "DEBUG");
}
+
stp_merge_printvars(v, stp_printer_get_defaults(printer));
+
+ /* Pass along Collation settings */
+ stp_set_boolean_parameter(v, "Collate", cups.header.Collate);
+ stp_set_boolean_parameter_active(v, "Collate", STP_PARAMETER_ACTIVE);
+ /* Pass along Copy settings */
+ stp_set_int_parameter(v, "NumCopies", cups.header.NumCopies);
+ stp_set_int_parameter_active(v, "NumCopies", STP_PARAMETER_ACTIVE);
+ /* Pass along the page number */
stp_set_int_parameter(v, "PageNumber", cups.page);
cups.row = 0;
if (! suppress_messages)