diff --git a/connd/qconnectionagent.cpp b/connd/qconnectionagent.cpp index 520a3ff..54585ab 100644 --- a/connd/qconnectionagent.cpp +++ b/connd/qconnectionagent.cpp @@ -249,6 +249,11 @@ void QConnectionAgent::serviceStateChanged(const QString &state) if (delayedTethering && service->type() == "wifi" && state == "association") { service->requestDisconnect(); } + if (state == "ready" && service->type() == "wifi" + && !delayedTethering + && netman->defaultRoute()->type() == "cellular") { + netman->defaultRoute()->requestDisconnect(); + } if (state == "online") { Q_EMIT connectionState(state, service->type());