涉及NetworkManger服务重启导致的崩溃修复
This commit is contained in:
parent
adcf4d166f
commit
4722a53846
|
@ -144,8 +144,10 @@ void KyNetworkResourceManager::insertActiveConnections()
|
|||
void KyNetworkResourceManager::removeConnection(int pos)
|
||||
{
|
||||
//connections signals
|
||||
QString path = m_connections.at(pos)->path();
|
||||
NetworkManager::Connection::Ptr conn = m_connections.takeAt(pos);
|
||||
conn->disconnect(this);
|
||||
emit connectionRemove(path);
|
||||
}
|
||||
|
||||
void KyNetworkResourceManager::clearConnections()
|
||||
|
@ -969,7 +971,6 @@ void KyNetworkResourceManager::onConnectionRemoved(QString const & path)
|
|||
connectionPtr = m_connections.at(index);
|
||||
if (connectionPtr->path() == path) {
|
||||
removeConnection(index);
|
||||
emit connectionRemove(path);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -364,21 +364,15 @@ QString KyWirelessNetResource::getDeviceIFace(NetworkManager::WirelessNetwork::P
|
|||
|
||||
void KyWirelessNetResource::onWifiNetworkAdded(QString devIfaceName, QString ssid)
|
||||
{
|
||||
NetworkManager::WirelessNetwork::Ptr wifi = nullptr;
|
||||
for (auto const & net : m_networkResourceInstance->m_wifiNets) {
|
||||
if (net.isNull()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
NetworkManager::AccessPoint::Ptr accessPointPtr = net->referenceAccessPoint();
|
||||
QByteArray rawSsid = accessPointPtr->rawSsid();
|
||||
QString wifiSsid = getSsidFromByteArray(rawSsid);
|
||||
|
||||
if (wifiSsid == ssid && m_networkResourceInstance->findDeviceUni(net->device())->interfaceName() == devIfaceName) {
|
||||
wifi = net;
|
||||
}
|
||||
NetworkManager::Device::Ptr dev = m_networkResourceInstance->findDeviceInterface(devIfaceName);
|
||||
if (dev.isNull()) {
|
||||
return;
|
||||
}
|
||||
|
||||
NetworkManager::WirelessDevice* w_dev = qobject_cast<NetworkManager::WirelessDevice*>(dev.data());
|
||||
NetworkManager::WirelessNetwork::Ptr wifi = w_dev->findNetwork(ssid);
|
||||
|
||||
if (wifi.isNull()) {
|
||||
return;
|
||||
}
|
||||
|
@ -423,6 +417,10 @@ void KyWirelessNetResource::onWifiNetworkPropertyChange(NetworkManager::Wireless
|
|||
QByteArray rawSsid = accessPointPtr->rawSsid();
|
||||
QString wifiSsid = getSsidFromByteArray(rawSsid);
|
||||
|
||||
if (net->device().isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
QString devIface = m_networkResourceInstance->findDeviceUni(net->device())->interfaceName();
|
||||
if (m_WifiNetworkList.contains(devIface)) {
|
||||
QList<KyWirelessNetItem>::iterator iter = m_WifiNetworkList[devIface].begin();
|
||||
|
|
Loading…
Reference in New Issue