diff --git a/sane/scanner.cpp b/sane/scanner.cpp index 1553002..ccbeaac 100644 --- a/sane/scanner.cpp +++ b/sane/scanner.cpp @@ -3078,15 +3078,10 @@ COM_API_IMPLEMENT(scanner, bool, ui_show_setting(HWND parent, bool with_scan, bo break; case UI_RESULT_CLOSE_NORMAL: - is_show_ui_ = false; - uev = SANE_EVENT_UI_CLOSE_NORMAL; - on_ui_event(uev, (void*)uev); - break; case UI_RESULT_CLOSE_CANCEL: is_show_ui_ = false; - uev = SANE_EVENT_UI_CLOSE_CANCEL; - //on_ui_event(uev, (void*)uev); - + uev = SANE_EVENT_UI_CLOSE_SETTING; + on_ui_event(uev, (void*)uev); break; case UI_RESULT_START_SCAN: on_ui_event(SANE_EVENT_UI_SCAN_COMMAND, NULL); @@ -3151,28 +3146,21 @@ COM_API_IMPLEMENT(scanner, bool, ui_show_progress(HWND parent, bool bIndicator)) int uev = SANE_EVENT_SCAN_FINISHED; switch (res) { - case UI_RESULT_FAILED: - - break; - case UI_RESULT_OK: - break; case UI_RESULT_CLOSE_NORMAL: uev = SANE_EVENT_UI_CLOSE_NORMAL; - if (!is_show_ui_) + //if (!is_show_ui_) { on_ui_event(uev, (void*)uev); } break; case UI_RESULT_CLOSE_CANCEL: uev = SANE_EVENT_UI_CLOSE_CANCEL; - if (!is_show_ui_) + //if (!is_show_ui_) { on_ui_event(uev, (void*)uev); } - else - stop(); - break; - case UI_RESULT_START_SCAN: + //else + // stop(); break; default: break; diff --git a/twain/twain/huagaods.cpp b/twain/twain/huagaods.cpp index 55007da..791e2ef 100644 --- a/twain/twain/huagaods.cpp +++ b/twain/twain/huagaods.cpp @@ -3569,17 +3569,8 @@ int huagao_ds::handle_scanner_event(int ev, bool from_event_proc) // scanner_->stop(); //} break; - case SANE_EVENT_UI_CLOSE_CANCEL: - scanner_->stop(); - //notifyCloseCancel(); // 修复点击进度框"取消"按钮,UI不能正常结束的BUG - added on 2023-02-14 - //break; - case SANE_EVENT_UI_CLOSE_NORMAL: case SANE_EVENT_UI_CLOSE_SETTING: scanner_->ui_hide(); - case SANE_EVENT_SCAN_FINISHED: - scanner_status_ = SCANNER_STATUS_STOPPED; - //notifyCloseOk(); - //break; rc = notifyCloseCancel(); if (!Twpp::success(rc)) { @@ -3593,6 +3584,16 @@ int huagao_ds::handle_scanner_event(int ev, bool from_event_proc) rc = notifyCloseCancel(); } break; + case SANE_EVENT_UI_CLOSE_CANCEL: + scanner_->stop(); + //notifyCloseCancel(); // 修复点击进度框"取消"按钮,UI不能正常结束的BUG - added on 2023-02-14 + //break; + case SANE_EVENT_UI_CLOSE_NORMAL: + case SANE_EVENT_SCAN_FINISHED: + scanner_status_ = SCANNER_STATUS_STOPPED; // notifyCloseCancel is not need, because it done in EndXfer + //notifyCloseOk(); + //break; + break; case SANE_EVENT_UI_SCAN_COMMAND: scanner_->ui_show_progress(NULL, m_bIndicator);