From 5628849a405e42410cb19adb2bd9f92f7b88d8e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 9 Feb 2022 20:26:26 +0100 Subject: [PATCH] status/location: Use correct enabled state Commit e3a1d84992 split out the agent from the indicator, but kept using a local 'enabled' property with no connection at all to the actual state. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5043 Part-of: --- js/ui/status/location.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/js/ui/status/location.js b/js/ui/status/location.js index 7e0222b72..547c8347a 100644 --- a/js/ui/status/location.js +++ b/js/ui/status/location.js @@ -232,7 +232,8 @@ class Indicator extends PanelMenu.SystemIndicator { GObject.BindingFlags.SYNC_CREATE); this._item.label.text = _('Location Enabled'); - this._onOffAction = this._item.menu.addAction(_('Disable'), this._onOnOffAction.bind(this)); + this._onOffAction = this._item.menu.addAction(_('Disable'), + () => (this._agent.enabled = !this._agent.enabled)); this._item.menu.addSettingsAction(_('Privacy Settings'), 'gnome-location-panel.desktop'); this.menu.addMenuItem(this._item); @@ -251,17 +252,13 @@ class Indicator extends PanelMenu.SystemIndicator { this._agent.disconnect(this._maxAccuracyId); } - _onOnOffAction() { - this.enabled = !this.enabled; - } - _onSessionUpdated() { let sensitive = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter; this.menu.setSensitive(sensitive); } _updateMenuLabels() { - if (this.enabled) { + if (this._agent.enabled) { this._item.label.text = this._indicator.visible ? _('Location In Use') : _('Location Enabled');