status/brightness: Hide when proxy has no owner

Properties are null while a proxy has no owner. Javascript helpfully
coerces that into `Number(null)` (a.k.a. 0), so we end up with a
broken slider.

Explicitly check that the value is an integer before doing the
comparison to catch that case.

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

View File

@ -67,7 +67,8 @@ class Indicator extends PanelMenu.SystemIndicator {
} }
_sync() { _sync() {
let visible = this._proxy.Brightness >= 0; const brightness = this._proxy.Brightness;
const visible = Number.isInteger(brightness) && brightness >= 0;
this._item.visible = visible; this._item.visible = visible;
if (visible) if (visible)
this._changeSlider(this._proxy.Brightness / 100.0); this._changeSlider(this._proxy.Brightness / 100.0);