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-01 22:28:05 +0200
commit88cc44bac49ac83acb46c439b405b126b04c7ae7 (patch)
tree83064446fda0a284dcbf7320b050eb9cf51519a0 /tdenetworkmanager/src/tdenetman-wireless_network.cpp
parent0735c7e3f83fa8415890294fbfc45a71860d52c1 (diff)
downloadtdenetworkmanager-88cc44bac49ac83acb46c439b405b126b04c7ae7.tar.gz
tdenetworkmanager-88cc44bac49ac83acb46c439b405b126b04c7ae7.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>
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) {