From 7a9bfa27445ce5fef29ec44ab04ea315ca3fda15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 20 Dec 2023 00:17:29 +0100 Subject: [PATCH] extensions-app: Add compat code for older shell versions The Extensions app is also distributed as flatpak, so we cannot assume that its version matches the shell. In order to not show all extensions as disabled when running under a shell version that doesn't include the `enabled` property yet, add a fallback based on the current state. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7004 Part-of: --- subprojects/extensions-app/js/extensionManager.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/subprojects/extensions-app/js/extensionManager.js b/subprojects/extensions-app/js/extensionManager.js index 3f2e3bdcc..6c557a885 100644 --- a/subprojects/extensions-app/js/extensionManager.js +++ b/subprojects/extensions-app/js/extensionManager.js @@ -142,6 +142,10 @@ const Extension = GObject.registerClass({ this._state = state; this.notify('state'); + // Compat with older shell versions + if (this._enabled === undefined) + this.notify('enabled'); + if (this.hasError !== hadError) { this.notify('has-error'); this.notify('error'); @@ -203,6 +207,12 @@ const Extension = GObject.registerClass({ } get enabled() { + // Compat with older shell versions + if (this._enabled === undefined) { + return this.state === ExtensionState.ACTIVE || + this.state === ExtensionState.ACTIVATING; + } + return this._enabled; }