diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2021-09-29 23:49:55 +0200 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2021-10-03 10:49:39 +0200 |
commit | 2aeb019902e5d5337b28f45336588dfa74dcf5de (patch) | |
tree | 2369db542988116ce2dd0558cb90d8856c6c148a /tdenetworkmanager/src/tdenetman-wireless_network.cpp | |
parent | d596b6f5ced9e1794a2c1c6faffb03f7d8b024b5 (diff) | |
download | tdenetworkmanager-2aeb019902e5d5337b28f45336588dfa74dcf5de.tar.gz tdenetworkmanager-2aeb019902e5d5337b28f45336588dfa74dcf5de.zip |
Fix crash in case tdelibs is built without support for NetworkManager.
Fix crash in case of unsuccessful search for device.
This resolves issue #8.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit 88cc44bac49ac83acb46c439b405b126b04c7ae7)
Diffstat (limited to 'tdenetworkmanager/src/tdenetman-wireless_network.cpp')
-rw-r--r-- | tdenetworkmanager/src/tdenetman-wireless_network.cpp | 73 |
1 files changed, 58 insertions, 15 deletions
diff --git a/tdenetworkmanager/src/tdenetman-wireless_network.cpp b/tdenetworkmanager/src/tdenetman-wireless_network.cpp index f071f4d..5b13c52 100644 --- a/tdenetworkmanager/src/tdenetman-wireless_network.cpp +++ b/tdenetworkmanager/src/tdenetman-wireless_network.cpp @@ -90,13 +90,20 @@ bool WirelessNetwork::contains(const TDEMACAddress ap) dev = dynamic_cast<TDENetworkDevice*>(hwdevices->findByUniqueID(d->aps[ap])); if (dev) { TDENetworkConnectionManager* deviceConnMan = dev->connectionManager(); - apInfo = deviceConnMan->findAccessPointByBSSID(ap); + if (deviceConnMan) + { + apInfo = deviceConnMan->findAccessPointByBSSID(ap); + } } else if (d->aps[ap] == "") { - apInfo = nm->findAccessPointByBSSID(ap); + if (nm) + { + apInfo = nm->findAccessPointByBSSID(ap); + } } } - else { + else if (nm) + { apInfo = nm->findAccessPointByBSSID(ap); } @@ -137,10 +144,16 @@ const TQByteArray WirelessNetwork::getSsid() const TDENetworkWiFiAPInfo* apInfo = NULL; if (dev) { TDENetworkConnectionManager* deviceConnMan = dev->connectionManager(); - apInfo = deviceConnMan->findAccessPointByBSSID(d->aps.begin().key()); + if (deviceConnMan) + { + apInfo = deviceConnMan->findAccessPointByBSSID(d->aps.begin().key()); + } } else if (d->aps.begin().data() == "") { - apInfo = nm->findAccessPointByBSSID(d->aps.begin().key()); + if (nm) + { + apInfo = nm->findAccessPointByBSSID(d->aps.begin().key()); + } } if (apInfo) { @@ -164,10 +177,16 @@ TQString WirelessNetwork::getDisplaySsid() const TDENetworkWiFiAPInfo* apInfo = NULL; if (dev) { TDENetworkConnectionManager* deviceConnMan = dev->connectionManager(); - apInfo = deviceConnMan->findAccessPointByBSSID(d->aps.begin().key()); + if (deviceConnMan) + { + apInfo = deviceConnMan->findAccessPointByBSSID(d->aps.begin().key()); + } } else if (d->aps.begin().data() == "") { - apInfo = nm->findAccessPointByBSSID(d->aps.begin().key()); + if (nm) + { + apInfo = nm->findAccessPointByBSSID(d->aps.begin().key()); + } } if (apInfo) { @@ -192,10 +211,16 @@ TDENetworkWiFiAPFlags::TDENetworkWiFiAPFlags WirelessNetwork::getFlags() const TDENetworkWiFiAPInfo* apInfo = NULL; if (dev) { TDENetworkConnectionManager* deviceConnMan = dev->connectionManager(); - apInfo = deviceConnMan->findAccessPointByBSSID(it.key()); + if (deviceConnMan) + { + apInfo = deviceConnMan->findAccessPointByBSSID(it.key()); + } } else if (it.data() == "") { - apInfo = nm->findAccessPointByBSSID(it.key()); + if (nm) + { + apInfo = nm->findAccessPointByBSSID(it.key()); + } } if (apInfo) { @@ -217,10 +242,16 @@ TDENetworkWiFiAPFlags::TDENetworkWiFiAPFlags WirelessNetwork::getWpaFlags() cons TDENetworkWiFiAPInfo* apInfo = NULL; if (dev) { TDENetworkConnectionManager* deviceConnMan = dev->connectionManager(); - apInfo = deviceConnMan->findAccessPointByBSSID(it.key()); + if (deviceConnMan) + { + apInfo = deviceConnMan->findAccessPointByBSSID(it.key()); + } } else if (it.data() == "") { - apInfo = nm->findAccessPointByBSSID(it.key()); + if (nm) + { + apInfo = nm->findAccessPointByBSSID(it.key()); + } } if (apInfo) { @@ -241,10 +272,16 @@ TDENetworkWiFiAPFlags::TDENetworkWiFiAPFlags WirelessNetwork::getRsnFlags() cons TDENetworkWiFiAPInfo* apInfo = NULL; if (dev) { TDENetworkConnectionManager* deviceConnMan = dev->connectionManager(); - apInfo = deviceConnMan->findAccessPointByBSSID(it.key()); + if (deviceConnMan) + { + apInfo = deviceConnMan->findAccessPointByBSSID(it.key()); + } } else if (it.data() == "") { - apInfo = nm->findAccessPointByBSSID(it.key()); + if (nm) + { + apInfo = nm->findAccessPointByBSSID(it.key()); + } } if (apInfo) { @@ -269,10 +306,16 @@ TQ_UINT8 WirelessNetwork::getStrength() const TDENetworkWiFiAPInfo* apInfo = NULL; if (dev) { TDENetworkConnectionManager* deviceConnMan = dev->connectionManager(); - apInfo = deviceConnMan->findAccessPointByBSSID(it.key()); + if (deviceConnMan) + { + apInfo = deviceConnMan->findAccessPointByBSSID(it.key()); + } } else if (it.data() == "") { - apInfo = nm->findAccessPointByBSSID(it.key()); + if (nm) + { + apInfo = nm->findAccessPointByBSSID(it.key()); + } } if (apInfo) { |