network: don't use active connections that are in invalid states
Only ACTIVE or ACTIVATING connections are important when deciding what icon to show, don't fallback on any, possibly invalid or deactivating, active connection object. https://bugzilla.gnome.org/show_bug.cgi?id=676285
This commit is contained in:
parent
30e9a2a7d0
commit
eb2e66c539
@ -2047,6 +2047,7 @@ const NMApplet = new Lang.Class({
|
|||||||
let default_ip4 = null;
|
let default_ip4 = null;
|
||||||
let default_ip6 = null;
|
let default_ip6 = null;
|
||||||
let active_vpn = null;
|
let active_vpn = null;
|
||||||
|
let active_any = null;
|
||||||
for (let i = 0; i < this._activeConnections.length; i++) {
|
for (let i = 0; i < this._activeConnections.length; i++) {
|
||||||
let a = this._activeConnections[i];
|
let a = this._activeConnections[i];
|
||||||
|
|
||||||
@ -2077,10 +2078,15 @@ const NMApplet = new Lang.Class({
|
|||||||
if (a.default6)
|
if (a.default6)
|
||||||
default_ip6 = a;
|
default_ip6 = a;
|
||||||
|
|
||||||
if (a._type == 'vpn')
|
if (a.state == NetworkManager.ActiveConnectionState.ACTIVATING)
|
||||||
active_vpn = a;
|
|
||||||
else if (a.state == NetworkManager.ActiveConnectionState.ACTIVATING)
|
|
||||||
activating = a;
|
activating = a;
|
||||||
|
else if (a.state == NetworkManager.ActiveConnectionState.ACTIVE)
|
||||||
|
active_any = a;
|
||||||
|
|
||||||
|
if (a._type == 'vpn' &&
|
||||||
|
(a.state == NetworkManager.ActiveConnectionState.ACTIVATING ||
|
||||||
|
a.state == NetworkManager.ActiveConnectionState.ACTIVE))
|
||||||
|
active_vpn = a;
|
||||||
|
|
||||||
if (!a._primaryDevice) {
|
if (!a._primaryDevice) {
|
||||||
if (a._type != NetworkManager.SETTING_VPN_SETTING_NAME) {
|
if (a._type != NetworkManager.SETTING_VPN_SETTING_NAME) {
|
||||||
@ -2108,7 +2114,7 @@ const NMApplet = new Lang.Class({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this._mainConnection = activating || default_ip4 || default_ip6 || this._activeConnections[0] || null;
|
this._mainConnection = activating || default_ip4 || default_ip6 || active_any || null;
|
||||||
this._vpnConnection = active_vpn;
|
this._vpnConnection = active_vpn;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user