设置界面扫描出错时,保持设置界面不退出
This commit is contained in:
parent
eeeb3214f4
commit
e45ef83b4a
|
@ -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 };
|
||||
|
|
Loading…
Reference in New Issue