summaryrefslogtreecommitdiffstats
path: root/tdenetworkmanager/src/tdenetman-wireless_network.cpp
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2021-09-29 23:49:55 +0200
committerSlávek Banko <slavek.banko@axis.cz>2021-10-03 10:49:39 +0200
commit2aeb019902e5d5337b28f45336588dfa74dcf5de (patch)
tree2369db542988116ce2dd0558cb90d8856c6c148a /tdenetworkmanager/src/tdenetman-wireless_network.cpp
parentd596b6f5ced9e1794a2c1c6faffb03f7d8b024b5 (diff)
downloadtdenetworkmanager-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.cpp73
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) {