]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
fix scan with scanimage batch mode
authorBastian Dehn <hhaalo@arcor.de>
Sun, 25 Feb 2024 18:40:08 +0000 (19:40 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 25 Feb 2024 18:50:02 +0000 (19:50 +0100)
src/kds_s2000w_net.c

index 50a1df7e0303298579a984e73c7021579d1f00f8..48994f58c6ca7e10c7011049d3e95a9aad19a9b9 100644 (file)
@@ -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;