设置界面扫描出错时,保持设置界面不退出

This commit is contained in:
gb 2022-10-21 18:09:33 +08:00
parent eeeb3214f4
commit e45ef83b4a
1 changed files with 20 additions and 3 deletions

View File

@ -621,14 +621,32 @@ void scanner::apply_config(void)
}
void scanner::on_ui_event(int uev, void* sender)
{
bool indicator = sender == indicator_.get();
if (uev == SANE_EVENT_SCAN_FINISHED || uev == SANE_EVENT_UI_CLOSE_NORMAL || uev == SANE_EVENT_UI_CLOSE_CANCEL)
{
if (indicator)
indicator_.reset();
if (err_ && setting_.get())
{
return;
}
is_scanning_ = false;
}
int(__stdcall * h)(int, void*) = scanner_ev_handler_;
if (h)
{
if (SANE_EVENT_UI_CLOSE_SETTING == uev)
{
is_scanning_ = false;
setting_.reset();
}
h(uev, evh_param_);
return;
}
bool indicator = sender == indicator_.get();
if (prev_start_result_ != SANE_STATUS_GOOD && indicator)
indicator_.reset();
else
@ -2174,7 +2192,6 @@ COM_API_IMPLEMENT(scanner, int, start(void))
}
COM_API_IMPLEMENT(scanner, int, stop(void))
{
scanner_ev_handler_ = NULL;
return hg_sane_middleware::instance()->stop(handle_);
}
COM_API_IMPLEMENT(scanner, int, get_event(void))
@ -2742,7 +2759,7 @@ int scanner::handle_device_event(int ev_code, void* data, unsigned int* len)
}
on_ui_event(ev_code, (void*)ev_code);
}
is_scanning_ = false;
// is_scanning_ = false;
{
wchar_t msg[128] = { 0 };