恢复在EndXfer中返回0张图片;一次扫描完成后,设置界面是否关闭由APP决定

This commit is contained in:
gb 2023-05-30 09:12:53 +08:00
parent b7ccb16e0f
commit 1841c5ab3d
2 changed files with 8 additions and 10 deletions

View File

@ -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<void(int, void*, int)>();
}
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<void(int, void*, int)>();
}

View File

@ -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();