44 lines
1.9 KiB
Diff
44 lines
1.9 KiB
Diff
|
|
From d5b850a0249c2f2b19341acc5bd3a72eebcfa626 Mon Sep 17 00:00:00 2001
|
|||
|
|
From: liuxinhao <liuxinhao@kylinsec.com.cn>
|
|||
|
|
Date: Fri, 2 Jun 2023 14:46:07 +0800
|
|||
|
|
Subject: [PATCH 6/9] fix(default device): Device adapters do not update
|
|||
|
|
default devices that do not exist
|
|||
|
|
MIME-Version: 1.0
|
|||
|
|
Content-Type: text/plain; charset=UTF-8
|
|||
|
|
Content-Transfer-Encoding: 8bit
|
|||
|
|
|
|||
|
|
- 设备适配器不更新不存在的默认设备
|
|||
|
|
---
|
|||
|
|
src/daemon/device/device-adaptor-factory.cpp | 15 ++++++++++-----
|
|||
|
|
1 file changed, 10 insertions(+), 5 deletions(-)
|
|||
|
|
|
|||
|
|
diff --git a/src/daemon/device/device-adaptor-factory.cpp b/src/daemon/device/device-adaptor-factory.cpp
|
|||
|
|
index d3ffe19..531e0d9 100644
|
|||
|
|
--- a/src/daemon/device/device-adaptor-factory.cpp
|
|||
|
|
+++ b/src/daemon/device/device-adaptor-factory.cpp
|
|||
|
|
@@ -189,11 +189,16 @@ void DeviceAdaptorFactory::onDefaultDeviceChanged(int authType,
|
|||
|
|
const QString &deviceID)
|
|||
|
|
{
|
|||
|
|
auto deviceAdaptor = this->getDeviceAdaptor(authType);
|
|||
|
|
- if (deviceAdaptor && deviceAdaptor->getDeviceID() != deviceID)
|
|||
|
|
- {
|
|||
|
|
- auto dbusDeviceProxy = this->getDBusDeviceProxy(authType, deviceID);
|
|||
|
|
- deviceAdaptor->updateDBusDeviceProxy(dbusDeviceProxy);
|
|||
|
|
- }
|
|||
|
|
+ // 当前不存在设备设配器的情况,不更新设备适配器代理,需要时会优先考虑默认设备
|
|||
|
|
+ // 设备适配器已使用默认设备代理,不需要更新设备适配器
|
|||
|
|
+ RETURN_IF_FALSE(deviceAdaptor && deviceAdaptor->getDeviceID()!=deviceID);
|
|||
|
|
+
|
|||
|
|
+ // 尝试通过默认设备ID,拿到设备代理
|
|||
|
|
+ auto recommendedDeviceProxy = this->getDBusDeviceProxy(authType, deviceID);
|
|||
|
|
+ // 未能拿到设备,或者拿不到默认设备,不更新设备适配器代理
|
|||
|
|
+ RETURN_IF_FALSE( recommendedDeviceProxy && recommendedDeviceProxy->deviceID()==deviceID);
|
|||
|
|
+
|
|||
|
|
+ deviceAdaptor->updateDBusDeviceProxy(recommendedDeviceProxy);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void DeviceAdaptorFactory::onAuthDeviceManagerLost(const QString &service)
|
|||
|
|
--
|
|||
|
|
2.33.0
|
|||
|
|
|