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; WirelessNetwork net;
// only show connections which are out of range // only show connections which are out of range
if ( findMatchingNetwork(*it, nets, net) ) if ( findMatchingNetwork(*it, nets, net) ) {
continue; continue;
}
TDEWiFiConnection* wireless = dynamic_cast<const TDEWiFiConnection*>(*it); 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) for (TQValueList<WirelessNetwork>::Iterator it = newnets.begin(); it != newnets.end(); ++it)
{ {
// Only display networks with no existing connnection // Only display networks with no existing connnection
if ( findMatchingConnection(*it, conns) != NULL) if ( findMatchingConnection(*it, conns) != NULL) {
continue; continue;
}
WirelessNetworkItem* wirelessNetworkItem; WirelessNetworkItem* wirelessNetworkItem;
wirelessNetworkItem = new WirelessNetworkItem (menu, wirelessNetworkItem = new WirelessNetworkItem (menu,

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

@ -84,14 +84,17 @@ bool WirelessNetwork::contains(const TDEMACAddress ap)
{ {
TDEGlobalNetworkManager* nm = TDEGlobal::networkManager(); TDEGlobalNetworkManager* nm = TDEGlobal::networkManager();
TDENetworkDevice* dev = dynamic_cast<TDENetworkDevice*>(hwdevices->findByUniqueID(d->aps[ap])); TDENetworkDevice* dev = NULL;
TDENetworkWiFiAPInfo* apInfo = NULL; TDENetworkWiFiAPInfo* apInfo = NULL;
if (dev) { if (d->aps.contains(ap)) {
TDENetworkConnectionManager* deviceConnMan = dev->connectionManager(); dev = dynamic_cast<TDENetworkDevice*>(hwdevices->findByUniqueID(d->aps[ap]));
apInfo = deviceConnMan->findAccessPointByBSSID(ap); if (dev) {
} TDENetworkConnectionManager* deviceConnMan = dev->connectionManager();
else if (d->aps[ap] == "") { apInfo = deviceConnMan->findAccessPointByBSSID(ap);
apInfo = nm->findAccessPointByBSSID(ap); }
else if (d->aps[ap] == "") {
apInfo = nm->findAccessPointByBSSID(ap);
}
} }
if (apInfo) { if (apInfo) {

Loading…
Cancel
Save