From f5bfdf04682a3a80319bd992fae54d064e668f46 Mon Sep 17 00:00:00 2001 From: luoliangyi <87842688@qq.com> Date: Tue, 27 Dec 2022 09:55:42 +0800 Subject: [PATCH] =?UTF-8?q?sane=E5=9B=9E=E8=B0=83=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E4=B8=AD=EF=BC=8C=E4=BB=85=E4=BB=85=E5=B0=86=E6=89=AB=E6=8F=8F?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E7=9A=84=E4=BA=8B=E4=BB=B6=E4=B8=8B=E5=8F=91?= =?UTF-8?q?=E5=88=B0dll?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/HGProductionTool/mainwindow.cpp | 26 ++++++++++++-------------- db/HGPdtToolDb/HGPdtToolDbImpl.cpp | 2 +- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/app/HGProductionTool/mainwindow.cpp b/app/HGProductionTool/mainwindow.cpp index ff4b43c..c5fc2eb 100644 --- a/app/HGProductionTool/mainwindow.cpp +++ b/app/HGProductionTool/mainwindow.cpp @@ -82,9 +82,10 @@ MainWindow::~MainWindow() sane_exit(); HGPdtToolDb_DestroyUserMgr(m_pdtToolDbuserMgr); - m_pdtToolDbuserMgr = NULL; + m_pdtToolDbuserMgr = nullptr; HGBase_DestroyLock(m_lock); + m_lock = nullptr; delete ui; } @@ -232,29 +233,26 @@ int MainWindow::sane_ex_callback(SANE_Handle hdev, int code, void *data, unsigne { SANE_Device_Ex* sane_dev = (SANE_Device_Ex*)data; emit p->sane_dev_arrive(sane_dev->name); - return 0; } else if (SANE_EVENT_DEVICE_LEFT == code) { SANE_Device* sane_dev = (SANE_Device*)data; emit p->sane_dev_remove(sane_dev->name); - return 0; } - if (!hdev) + if (code == SANE_EVENT_STATUS || code == SANE_EVENT_ERROR || code == SANE_EVENT_WORKING + || code == SANE_EVENT_IMAGE_OK || code == SANE_EVENT_SCAN_FINISHED) { - return -1; + HGBase_EnterLock(p->m_lock); + Form_mainInterface* interface = p->FindInterface(hdev); + if (nullptr != interface) + { + if (nullptr != interface->getScanner() && nullptr != interface->getScanner()->cb_) + interface->getScanner()->cb_(hdev, code, data, len, interface->getScanner()); + } + HGBase_LeaveLock(p->m_lock); } - HGBase_EnterLock(p->m_lock); - Form_mainInterface* interface = p->FindInterface(hdev); - if (nullptr != interface) - { - if (nullptr != interface->getScanner() && nullptr != interface->getScanner()->cb_) - interface->getScanner()->cb_(hdev, code, data, len, interface->getScanner()); - } - HGBase_LeaveLock(p->m_lock); - return 0; } diff --git a/db/HGPdtToolDb/HGPdtToolDbImpl.cpp b/db/HGPdtToolDb/HGPdtToolDbImpl.cpp index 16390da..4d45f44 100644 --- a/db/HGPdtToolDb/HGPdtToolDbImpl.cpp +++ b/db/HGPdtToolDb/HGPdtToolDbImpl.cpp @@ -87,7 +87,7 @@ HGResult HGPdtToolDbUserMgrImpl::Create(const HGChar* host, HGUShort port, const } unsigned int timeout = 2; - mysql_options(sql, MYSQL_OPT_CONNECT_TIMEOUT, (const char*)&timeout); + mysql_options(sql, MYSQL_OPT_CONNECT_TIMEOUT, &timeout); if (NULL == mysql_real_connect(sql, host, "huago", "huago", "huago_production_tool", port, NULL, 0)) {