68 lines
3.0 KiB
Diff
68 lines
3.0 KiB
Diff
From 8d2bcb04f9277f409650197fd7b0f3a423bdc901 Mon Sep 17 00:00:00 2001
|
|
From: peijiankang <peijiankang@kylinos.cn>
|
|
Date: Mon, 17 Jul 2023 11:38:50 +0800
|
|
Subject: [PATCH] fix coredump of kylin-nm
|
|
|
|
---
|
|
.../kylinactiveconnectresource.cpp | 26 ++++++++++---------
|
|
.../dbus-interface/kywirelessnetresource.cpp | 5 +++-
|
|
2 files changed, 18 insertions(+), 13 deletions(-)
|
|
|
|
diff --git a/src/backend/dbus-interface/kylinactiveconnectresource.cpp b/src/backend/dbus-interface/kylinactiveconnectresource.cpp
|
|
index e56de5a..b5f1bfb 100644
|
|
--- a/src/backend/dbus-interface/kylinactiveconnectresource.cpp
|
|
+++ b/src/backend/dbus-interface/kylinactiveconnectresource.cpp
|
|
@@ -173,19 +173,21 @@ void KyActiveConnectResourse::getActiveConnectionList(QString deviceName,
|
|
QString ifaceUni = interfaces.at(index);
|
|
NetworkManager::Device:: Ptr devicePtr =
|
|
m_networkResourceInstance->findDeviceUni(ifaceUni);
|
|
- if (devicePtr->interfaceName() == deviceName) {
|
|
- KyConnectItem *activeConnectItem =
|
|
- getActiveConnectionItem(activeConnectPtr);
|
|
- if (nullptr != activeConnectItem) {
|
|
- activeConnectItem->m_ifaceName = deviceName;
|
|
- activeConnectItem->m_itemType = connectionType;
|
|
- activeConnectItemList << activeConnectItem;
|
|
- //activeConnectItem->dumpInfo();
|
|
+ if(devicePtr){
|
|
+ if (devicePtr->interfaceName() == deviceName) {
|
|
+ KyConnectItem *activeConnectItem =
|
|
+ getActiveConnectionItem(activeConnectPtr);
|
|
+ if (nullptr != activeConnectItem) {
|
|
+ activeConnectItem->m_ifaceName = deviceName;
|
|
+ activeConnectItem->m_itemType = connectionType;
|
|
+ activeConnectItemList << activeConnectItem;
|
|
+ //activeConnectItem->dumpInfo();
|
|
+ }
|
|
+
|
|
+ activeConnectPtr = nullptr;
|
|
+ break;
|
|
}
|
|
-
|
|
- activeConnectPtr = nullptr;
|
|
- break;
|
|
- }
|
|
+ }
|
|
}
|
|
}
|
|
|
|
diff --git a/src/backend/dbus-interface/kywirelessnetresource.cpp b/src/backend/dbus-interface/kywirelessnetresource.cpp
|
|
index 386f863..583d2a4 100644
|
|
--- a/src/backend/dbus-interface/kywirelessnetresource.cpp
|
|
+++ b/src/backend/dbus-interface/kywirelessnetresource.cpp
|
|
@@ -307,7 +307,10 @@ void KyWirelessNetResource::getDeviceByUuid(const QString uuid, QString &deviceN
|
|
QString ifaceUni = interfaces.at(0);
|
|
NetworkManager::Device:: Ptr devicePtr =
|
|
m_networkResourceInstance->findDeviceUni(ifaceUni);
|
|
- deviceName = devicePtr->interfaceName();
|
|
+ if(devicePtr)
|
|
+ deviceName = devicePtr->interfaceName();
|
|
+ else
|
|
+ qDebug() << LOG_FLAG << "get device of active is NULL";
|
|
return;
|
|
} else {
|
|
qDebug() << LOG_FLAG << "get device of active connection failed.";
|
|
--
|
|
2.33.0
|
|
|