summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--backend_dnpds40.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/backend_dnpds40.c b/backend_dnpds40.c
index 7cf8207..5b6c6df 100644
--- a/backend_dnpds40.c
+++ b/backend_dnpds40.c
@@ -102,6 +102,7 @@ struct dnpds40_ctx {
int supports_6x9;
int supports_2x6;
int supports_3x5x2;
+ int supports_a4x6;
int supports_matte;
int supports_finematte;
int supports_luster;
@@ -976,6 +977,8 @@ static int dnpds40_attach(void *vctx, struct dyesub_connection *conn, uint8_t jo
ctx->supports_mediaclassrfid = 1;
if (FW_VER_CHECK(0,50))
ctx->supports_gamma = 1;
+ if (FW_VER_CHECK(1,07)) // XXX might be 1.06
+ ctx->supports_a4x6 = 1;
break;
case P_DNP_QW410:
ctx->native_width = 1408;
@@ -1968,6 +1971,12 @@ parsed:
return CUPS_BACKEND_CANCEL;
}
+ if (!ctx->supports_a4x6 && job->multicut == MULTICUT_A4x6) {
+ ERROR("Printer does not support A4x6 prints, aborting!\n");
+ dnpds40_cleanup_job(job);
+ return CUPS_BACKEND_CANCEL;
+ }
+
skip_multicut:
if (job->fullcut && !ctx->supports_adv_fullcut &&
@@ -3408,7 +3417,7 @@ static const char *dnpds40_prefixes[] = {
/* Exported */
struct dyesub_backend dnpds40_backend = {
.name = "DNP DS-series / Citizen C-series",
- .version = "0.135",
+ .version = "0.136",
.uri_prefixes = dnpds40_prefixes,
.cmdline_usage = dnpds40_cmdline,
.cmdline_arg = dnpds40_cmdline_arg,