From b6a20f0e0140e8afa0f87da86fd230724425034f Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 9 Jun 2013 22:57:02 -0500 Subject: Fix wireless APs not being properly linked with their respective networks This partially resolves Bug 1496 --- .../src/tdenetman-wireless_device_tray.cpp | 6 ++++-- tdenetworkmanager/src/tdenetman-wireless_manager.cpp | 2 +- tdenetworkmanager/src/tdenetman-wireless_network.cpp | 17 ++++++++++------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/tdenetworkmanager/src/tdenetman-wireless_device_tray.cpp b/tdenetworkmanager/src/tdenetman-wireless_device_tray.cpp index 8cfeb33..f269fd9 100644 --- a/tdenetworkmanager/src/tdenetman-wireless_device_tray.cpp +++ b/tdenetworkmanager/src/tdenetman-wireless_device_tray.cpp @@ -194,8 +194,9 @@ void WirelessDeviceTray::addWirelessNetworks(TDEPopupMenu* menu) WirelessNetwork net; // only show connections which are out of range - if ( findMatchingNetwork(*it, nets, net) ) + if ( findMatchingNetwork(*it, nets, net) ) { continue; + } TDEWiFiConnection* wireless = dynamic_cast(*it); @@ -228,8 +229,9 @@ void WirelessDeviceTray::addWirelessNetworks(TDEPopupMenu* menu) for (TQValueList::Iterator it = newnets.begin(); it != newnets.end(); ++it) { // Only display networks with no existing connnection - if ( findMatchingConnection(*it, conns) != NULL) + if ( findMatchingConnection(*it, conns) != NULL) { continue; + } WirelessNetworkItem* wirelessNetworkItem; wirelessNetworkItem = new WirelessNetworkItem (menu, diff --git a/tdenetworkmanager/src/tdenetman-wireless_manager.cpp b/tdenetworkmanager/src/tdenetman-wireless_manager.cpp index c0b4282..f240778 100644 --- a/tdenetworkmanager/src/tdenetman-wireless_manager.cpp +++ b/tdenetworkmanager/src/tdenetman-wireless_manager.cpp @@ -74,7 +74,7 @@ TQValueList WirelessManager::getWirelessNetworks(TDENetworkDevi nets.append(net); } } - } + } return nets; } diff --git a/tdenetworkmanager/src/tdenetman-wireless_network.cpp b/tdenetworkmanager/src/tdenetman-wireless_network.cpp index cb3d834..b2c2a18 100644 --- a/tdenetworkmanager/src/tdenetman-wireless_network.cpp +++ b/tdenetworkmanager/src/tdenetman-wireless_network.cpp @@ -84,14 +84,17 @@ bool WirelessNetwork::contains(const TDEMACAddress ap) { TDEGlobalNetworkManager* nm = TDEGlobal::networkManager(); - TDENetworkDevice* dev = dynamic_cast(hwdevices->findByUniqueID(d->aps[ap])); + TDENetworkDevice* dev = NULL; TDENetworkWiFiAPInfo* apInfo = NULL; - if (dev) { - TDENetworkConnectionManager* deviceConnMan = dev->connectionManager(); - apInfo = deviceConnMan->findAccessPointByBSSID(ap); - } - else if (d->aps[ap] == "") { - apInfo = nm->findAccessPointByBSSID(ap); + if (d->aps.contains(ap)) { + dev = dynamic_cast(hwdevices->findByUniqueID(d->aps[ap])); + if (dev) { + TDENetworkConnectionManager* deviceConnMan = dev->connectionManager(); + apInfo = deviceConnMan->findAccessPointByBSSID(ap); + } + else if (d->aps[ap] == "") { + apInfo = nm->findAccessPointByBSSID(ap); + } } if (apInfo) { -- cgit v1.2.1