From 1841c5ab3ded5e47a2ea28f891e296f62f3d5a70 Mon Sep 17 00:00:00 2001 From: gb <741021719@qq.com> Date: Tue, 30 May 2023 09:12:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E5=9C=A8EndXfer=E4=B8=AD?= =?UTF-8?q?=E8=BF=94=E5=9B=9E0=E5=BC=A0=E5=9B=BE=E7=89=87=EF=BC=9B?= =?UTF-8?q?=E4=B8=80=E6=AC=A1=E6=89=AB=E6=8F=8F=E5=AE=8C=E6=88=90=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E8=AE=BE=E7=BD=AE=E7=95=8C=E9=9D=A2=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E7=94=B1APP=E5=86=B3=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sane/scanner.cpp | 8 ++++++-- twain/twain/huagaods.cpp | 10 ++-------- 2 files changed, 8 insertions(+), 10 deletions(-) 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();