diff --git a/build_all.bat b/build_all.bat index 3a9f601..c1745f7 100644 --- a/build_all.bat +++ b/build_all.bat @@ -63,12 +63,14 @@ if "%OEM%"=="hw" ( build.bat lsc %CPU% onlytwain 0x8739 nov ) else ( build.bat %CPU% 0x100 %NOV% + build.bat %CPU% onlytwain 0x139 nov build.bat %CPU% onlytwain 0x200 nov + build.bat %CPU% onlytwain 0x239 nov build.bat %CPU% onlytwain 0x300 nov build.bat %CPU% onlytwain 0x302 nov + build.bat %CPU% onlytwain 0x339 nov build.bat %CPU% onlytwain 0x400 nov - build.bat %CPU% onlytwain 0x139 nov - build.bat %CPU% onlytwain 0x239 nov - build.bat %CPU% onlytwain 0x439 nov build.bat %CPU% onlytwain 0x402 nov + build.bat %CPU% onlytwain 0x439 nov + build.bat %CPU% onlytwain 0x7823 nov ) diff --git a/sane/scanner.cpp b/sane/scanner.cpp index 3cab24f..7b21ec6 100644 --- a/sane/scanner.cpp +++ b/sane/scanner.cpp @@ -1768,9 +1768,10 @@ COM_API_IMPLEMENT(scanner, int, start(void)) else { std::wstring msg(local_trans::a2u(hg_scanner_err_description(ret), CP_UTF8)); + HWND parent = setting_.get() ? setting_->hwnd() : NULL; if (indicator_.get()) - indicator_.reset(); - MessageBoxW(NULL, msg.c_str(), L"\u542F\u52A8\u5931\u8D25", MB_OK | MB_ICONERROR); + indicator_->show(false); + MessageBoxW(parent, msg.c_str(), L"\u542F\u52A8\u5931\u8D25", MB_OK | MB_ICONERROR); } prev_start_result_ = ret; is_scanning_ = ret == SANE_STATUS_GOOD; @@ -2209,6 +2210,14 @@ COM_API_IMPLEMENT(scanner, bool, ui_show_setting(HWND parent, bool with_scan, bo { SANEAPI api = { NULL }; + if (with_scan) + { + events_.clear(); + images_.clear(); + scan_msg_ = "OK"; + scan_err_ = false; + } + api.sane_cancel_api = inner_sane_cancel; api.sane_close_api = inner_sane_close; api.sane_control_option_api = inner_sane_control_option;