Index: sources/wifi/WifiInterface.cpp =================================================================== diff -u -r83b9d737cd495b34a7b42f5409962a9442f3b8f4 -r710816dfce521fce66e2b86e9982ba4d47e0753e --- sources/wifi/WifiInterface.cpp (.../WifiInterface.cpp) (revision 83b9d737cd495b34a7b42f5409962a9442f3b8f4) +++ sources/wifi/WifiInterface.cpp (.../WifiInterface.cpp) (revision 710816dfce521fce66e2b86e9982ba4d47e0753e) @@ -256,7 +256,23 @@ LOG_DEBUG(QString("stderr: %1").arg(err)); _scanRunning = false; emit didScanStatusChanged(_scanRunning); - parseWifiScan(out); + QList networks = parseWifiScan(out); + + // A non-empty macAddress indicates UI is connected to a network + // if the network security type list is empty, this indicates that the connection + // was a result of a start-up reconnection. Traverse through discovered networks + // and update the security type list and signal strength info + if(!_network.macAddress().isEmpty() && _network.securityTypes().isEmpty()) { + foreach(WifiNetworkData network, networks){ + if(network.macAddress() == _network.macAddress()){ + // update the security and signal info + _network.securityTypes(network.securityTypes()); + _network.signalLevel(network.signalLevel()); + emit didConnectToNetwork(_network); + } + } + } + LOG_DEBUG("WiFi Scan Finished"); }