diff --git a/sane/scanner.cpp b/sane/scanner.cpp index 9f5d4cf..a0fed16 100644 --- a/sane/scanner.cpp +++ b/sane/scanner.cpp @@ -783,7 +783,9 @@ void scanner::on_ui_event(int uev, void* sender) if (indicator_.get()) indicator_.reset(); - is_scanning_ = is_show_setting_; + // FIX on 2023-05-30: restore scan finished status, whether close UI is up to APP + //is_scanning_ = is_show_setting_; + is_scanning_ = false; ui_notify = std::function(); } else if (uev == SANE_EVENT_UI_CLOSE_CANCEL) @@ -796,7 +798,9 @@ void scanner::on_ui_event(int uev, void* sender) } else if (uev == SANE_EVENT_SCAN_FINISHED) { - is_scanning_ = is_show_setting_; + // FIX on 2023-05-30: restore scan finished status, whether close UI is up to APP + //is_scanning_ = is_show_setting_; + is_scanning_ = false; ui_notify = std::function(); } diff --git a/twain/twain/huagaods.cpp b/twain/twain/huagaods.cpp index ab4babe..2d4ae5a 100644 --- a/twain/twain/huagaods.cpp +++ b/twain/twain/huagaods.cpp @@ -1041,15 +1041,9 @@ Result huagao_ds::pendingXfersGet(const Identity&, PendingXfers& data) return seqError(); // 显示设置界面时,不能阻塞在EndXfer,否则最后一张图片传输后显示不出来,故在此做阻塞调用 - // int cnt = get_scanned_image_count(-1); + int cnt = get_scanned_image_count(-1); // FIX-2023-05-29: 是否保持设置界面显示,由APP决定,此处不再由是否显示UI来决定,保持一个扫描流程正常结束 - int cnt = /*show_setting_ ? 1 :*/ get_scanned_image_count(10); - while (cnt == 0) - { - if (scanner_status_ == SCANNER_STATUS_STOPPED) - break; - cnt = get_scanned_image_count(10); - } + //int cnt = show_setting_ ? 1 : get_scanned_image_count(-1); data.setCount(cnt); return success();