diff --git a/applet/contents/ui/main.qml b/applet/contents/ui/main.qml --- a/applet/contents/ui/main.qml +++ b/applet/contents/ui/main.qml @@ -87,7 +87,7 @@ id: scanTimer interval: 15000 repeat: true - running: plasmoid.expanded + running: plasmoid.expanded && !connectionIconProvider.airplaneMode onTriggered: handler.requestScan() } diff --git a/libs/handler.cpp b/libs/handler.cpp --- a/libs/handler.cpp +++ b/libs/handler.cpp @@ -440,10 +440,12 @@ for (NetworkManager::Device::Ptr device : NetworkManager::networkInterfaces()) { if (device->type() == NetworkManager::Device::Wifi) { NetworkManager::WirelessDevice::Ptr wifiDevice = device.objectCast(); - if (wifiDevice) { + + if (wifiDevice && wifiDevice->state() != NetworkManager::WirelessDevice::Unavailable) { if (!interface.isEmpty() && interface != wifiDevice->interfaceName()) { continue; } + qCDebug(PLASMA_NM) << "Requesting wifi scan on device" << wifiDevice->interfaceName(); QDBusPendingReply<> reply = wifiDevice->requestScan(); QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(reply, this); @@ -523,7 +525,7 @@ case Handler::RequestScan: { const QString interface = watcher->property("interface").toString(); - qCDebug(PLASMA_NM) << "Wireless scan on" << interface << "failed:" << error; + qCWarning(PLASMA_NM) << "Wireless scan on" << interface << "failed:" << error; scanRequestFailed(interface); break; }