status/brightness: Improve proxy error handling

On error, we currently print a warning and bail out early. That
means we don't hide the slider, despite it being non-functional
without the proxy.

Fix this by making sure _sync() is called in any case. While at
it, use an appropriate log level for the warning message.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2391>
This commit is contained in:
Florian Müllner 2022-07-30 13:07:31 +02:00 committed by Marge Bot
parent 87e4eda46d
commit ed2ae06f35

View File

@ -20,15 +20,13 @@ class Indicator extends PanelMenu.SystemIndicator {
_init() { _init() {
super._init(); super._init();
this._proxy = new BrightnessProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH, this._proxy = new BrightnessProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH,
(proxy, error) => { (proxy, error) => {
if (error) { if (error)
log(error.message); console.error(error.message);
return; else
} this._proxy.connect('g-properties-changed', () => this._sync());
this._sync();
this._proxy.connect('g-properties-changed', this._sync.bind(this)); });
this._sync();
});
this._item = new PopupMenu.PopupBaseMenuItem({ activate: false }); this._item = new PopupMenu.PopupBaseMenuItem({ activate: false });
this.menu.addMenuItem(this._item); this.menu.addMenuItem(this._item);