Fix wireless APs not being properly linked with their respective networks

This partially resolves Bug 1496
pull/1/head
Timothy Pearson 12 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,

@ -84,8 +84,10 @@ 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 (d->aps.contains(ap)) {
dev = dynamic_cast<TDENetworkDevice*>(hwdevices->findByUniqueID(d->aps[ap]));
if (dev) { if (dev) {
TDENetworkConnectionManager* deviceConnMan = dev->connectionManager(); TDENetworkConnectionManager* deviceConnMan = dev->connectionManager();
apInfo = deviceConnMan->findAccessPointByBSSID(ap); apInfo = deviceConnMan->findAccessPointByBSSID(ap);
@ -93,6 +95,7 @@ bool WirelessNetwork::contains(const TDEMACAddress ap)
else if (d->aps[ap] == "") { else if (d->aps[ap] == "") {
apInfo = nm->findAccessPointByBSSID(ap); apInfo = nm->findAccessPointByBSSID(ap);
} }
}
if (apInfo) { if (apInfo) {
if ( (d->match & MATCH_SSID) && (getSsid() != apInfo->SSID)) { if ( (d->match & MATCH_SSID) && (getSsid() != apInfo->SSID)) {

Loading…
Cancel
Save