diff --git a/deepin-devicemanager/src/DriverControl/DBusDriverInterface.cpp b/deepin-devicemanager/src/DriverControl/DBusDriverInterface.cpp index d3491d3b..6896bf55 100644 --- a/deepin-devicemanager/src/DriverControl/DBusDriverInterface.cpp +++ b/deepin-devicemanager/src/DriverControl/DBusDriverInterface.cpp @@ -34,7 +34,7 @@ void DBusDriverInterface::uninstallPrinter(const QString &vendor, const QString qCDebug(appLog) << "Uninstall printer - vendor:" << vendor << "model:" << model; //Sets the timeout in milliseconds for all future DBus calls to timeout. -1 means the default DBus timeout (usually 25 seconds). //超时默认是25s,打印卸载超时大概30s - mp_Iface->setTimeout(1000 * 1000); + mp_Iface->setTimeout(-1); QDBusPendingCall async = mp_Iface->asyncCall("unInstallPrinter", vendor, model); QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(async, this); QObject::connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher *)), @@ -68,7 +68,7 @@ void DBusDriverInterface::undoInstallDriver() void DBusDriverInterface::installDriverFd(const QDBusUnixFileDescriptor &fileFd, const QString &filename) { qCDebug(appLog) << "Install driver via fd, filename:" << filename; - mp_Iface->setTimeout(1000 * 1000); + mp_Iface->setTimeout(-1); QDBusPendingCall async = mp_Iface->asyncCall("installDriverFd", QVariant::fromValue(fileFd), filename); QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(async, this); QObject::connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher *)), @@ -98,7 +98,7 @@ bool DBusDriverInterface::isDebValidFd(const QDBusUnixFileDescriptor &fileFd) bool DBusDriverInterface::backupDebFd(const QDBusUnixFileDescriptor &dirFd, const QString &debname) { qCDebug(appLog) << "DBusDriverInterface::backupDebFd, debname:" << debname; - mp_Iface->setTimeout(1000 * 1000); // 备份需拷贝整个暂存目录,放宽超时 + mp_Iface->setTimeout(-1); // 备份需拷贝整个暂存目录,放宽超时 QDBusReply reply = mp_Iface->call("backupDebFd", QVariant::fromValue(dirFd), debname); return reply.value(); diff --git a/deepin-devicemanager/src/Page/PageDriverControl.cpp b/deepin-devicemanager/src/Page/PageDriverControl.cpp index 41bb81c1..50a7a3e0 100644 --- a/deepin-devicemanager/src/Page/PageDriverControl.cpp +++ b/deepin-devicemanager/src/Page/PageDriverControl.cpp @@ -100,7 +100,7 @@ bool PageDriverControl::isRunning() qCDebug(appLog) << "PageDriverControl::isRunning start"; for (auto w : qApp->allWindows()) { // qCDebug(appLog) << "PageDriverControl::isRunning check window:" << w->objectName(); - if ("PageDriverControlWindow" == w->objectName()) { + if ("PageDriverControl" == w->objectName()) { if (w->isVisible()) { // qCDebug(appLog) << "PageDriverControl::isRunning is running"; return true; @@ -209,7 +209,6 @@ void PageDriverControl::slotProcessEnd(bool sucess, const QString &errCode) void PageDriverControl::slotClose() { qCDebug(appLog) << "PageDriverControl::slotClose"; - emit refreshInfo(); this->close(); } @@ -386,7 +385,7 @@ void PageDriverControl::closeEvent(QCloseEvent *event) return; } else if ("Done" == property("DriverProcessStatus").toString()) { qCDebug(appLog) << "closeEvent: driver process done, closing"; - slotClose();//卸载或者更新后,关闭时刷新 + emit refreshInfo();//卸载或者更新后,关闭时刷新 } } diff --git a/deepin-devicemanager/src/Page/PageDriverManager.cpp b/deepin-devicemanager/src/Page/PageDriverManager.cpp index 167812e0..647f0603 100644 --- a/deepin-devicemanager/src/Page/PageDriverManager.cpp +++ b/deepin-devicemanager/src/Page/PageDriverManager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2022-2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -368,7 +368,10 @@ void PageDriverManager::slotInstallProgressFinished(bool bsuccess, int err) if (bsuccess) { successNum += 1; qCDebug(appLog) << "Installation successful for" << mp_CurDriverInfo->name() << ", success count:" << successNum; - m_ListUpdateIndex.removeAt(m_ListUpdateIndex.indexOf(m_CurIndex)); + int idx = m_ListUpdateIndex.indexOf(m_CurIndex); + if (idx != -1) { + m_ListUpdateIndex.removeAt(idx); + } } else { // 失败 qCDebug(appLog) << "Installation failed for" << mp_CurDriverInfo->name() << ", error code:" << err; // 通知网络错误 @@ -1068,7 +1071,7 @@ bool PageDriverManager::networkIsOnline() if (QNetworkInformation::instance()) { auto interfaces = QNetworkInformation::instance()->reachability(); qCDebug(appLog) << "Network reachability:" << interfaces; - networkFlag = (interfaces == QNetworkInformation::Reachability::Disconnected); + networkFlag = (interfaces != QNetworkInformation::Reachability::Disconnected); } return networkFlag; #endif diff --git a/deepin-devicemanager/src/Widget/DetectedStatusWidget.cpp b/deepin-devicemanager/src/Widget/DetectedStatusWidget.cpp index fe9cbc4f..ec6eda03 100644 --- a/deepin-devicemanager/src/Widget/DetectedStatusWidget.cpp +++ b/deepin-devicemanager/src/Widget/DetectedStatusWidget.cpp @@ -93,6 +93,7 @@ DetectedStatusWidget::DetectedStatusWidget(QWidget *parent) DetectedStatusWidget::~DetectedStatusWidget() { qCDebug(appLog) << "DetectedStatusWidget destructor called"; + DELETE_PTR(mp_HLayoutLabel); DELETE_PTR(mp_HLayoutButton); DELETE_PTR(mp_HLayoutLabel); DELETE_PTR(mp_VLayoutLabel); diff --git a/deepin-devicemanager/src/Widget/drivertableview.cpp b/deepin-devicemanager/src/Widget/drivertableview.cpp index dcbecdf6..c1458e39 100644 --- a/deepin-devicemanager/src/Widget/drivertableview.cpp +++ b/deepin-devicemanager/src/Widget/drivertableview.cpp @@ -519,7 +519,7 @@ void DriverTableView::setAllItemCbEanble(bool enable) void DriverTableView::setCheckedCBDisable() { // qCDebug(appLog) << "Disabling checkboxes for checked items"; - if (mp_HeaderCb->checked()) { + if (mp_HeaderCb && mp_HeaderCb->checked()) { qCDebug(appLog) << "Header checkbox is checked, disabling it"; mp_HeaderCb->setCbEnable(false); }