Fix wireless APs not being properly linked with their respective networks

This partially resolves Bug 1496
pull/1/head
Timothy Pearson 11 years ago
parent 73618d03cf
commit b6a20f0e01

@ -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<const TDEWiFiConnection*>(*it);
@ -228,8 +229,9 @@ void WirelessDeviceTray::addWirelessNetworks(TDEPopupMenu* menu)
for (TQValueList<WirelessNetwork>::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,

@ -74,7 +74,7 @@ TQValueList<WirelessNetwork> WirelessManager::getWirelessNetworks(TDENetworkDevi
nets.append(net);
}
}
}
}
return nets;
}

@ -84,14 +84,17 @@ bool WirelessNetwork::contains(const TDEMACAddress ap)
{
TDEGlobalNetworkManager* nm = TDEGlobal::networkManager();
TDENetworkDevice* dev = dynamic_cast<TDENetworkDevice*>(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<TDENetworkDevice*>(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) {

Loading…
Cancel
Save