From 56a29663b4720f6fe997db316a11db5bcd1439e5 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 25 Feb 2024 19:40:08 +0100 Subject: [PATCH] fix scan with scanimage batch mode --- src/kds_s2000w_net.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index 50a1df7..48994f5 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -138,6 +138,13 @@ SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle, if (!h->read_info->scan_started) return SANE_STATUS_INVAL; + for (int i = 0; i < 10; i++) { + sleep(1); + kds_s2000w_handler_get_parameters(h); + if (h->current_metadata->valid) + break; + } + if (h->current_metadata->verify > 0) { h->current_metadata->verify--; return SANE_STATUS_GOOD; @@ -156,7 +163,7 @@ SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle, h->read_info->readed_bytes_per_line = 0; h->read_info->readed_lines = 0; - h->current_metadata->verify = 2; + h->current_metadata->verify = 0; debug_printf_int(DEBUG, "format", params->format); debug_printf_int(DEBUG, "last frame", params->last_frame); @@ -173,15 +180,6 @@ SANE_Status _sane_kds_s2000w_net_start(SANE_Handle handle) debug_printf(ALL, "sane_kds_s2000w_net_start"); handler* h = (handler*) handle; - if (h->read_info->scan_started) { - for (int i = 0; i < 10; i++) { - sleep(1); - kds_s2000w_handler_get_parameters(h); - if (h->current_metadata->valid) - break; - } - } - if (!h->read_info->scan_started) { h->read_info->cancel = 0; h->read_info->scan_started = 1; -- 2.39.5