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)) {