From f9e81284f8acba86522ad00cc73ae1030269930a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 20 Dec 2023 00:02:35 +0100 Subject: [PATCH] extensionSystem: Allow changing extensions in ERROR state While an extension's actual state can no longer change once it is in ERROR state, its requested state can. In fact, disabling an erroneous extension is highly recommended, so that it doesn't cause problems again on the next login. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7004 Part-of: --- js/ui/extensionSystem.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/js/ui/extensionSystem.js b/js/ui/extensionSystem.js index 10e1d92de..0ff282809 100644 --- a/js/ui/extensionSystem.js +++ b/js/ui/extensionSystem.js @@ -370,7 +370,6 @@ export class ExtensionManager extends Signals.EventEmitter { extension.errors.push(message); logError(error, `Extension ${uuid}`); - this._updateCanChange(extension); this.emit('extension-state-changed', extension); } @@ -572,10 +571,6 @@ export class ExtensionManager extends Signals.EventEmitter { } _updateCanChange(extension) { - let hasError = - extension.state === ExtensionState.ERROR || - extension.state === ExtensionState.OUT_OF_DATE; - let isMode = this._getModeExtensions().includes(extension.uuid); let modeOnly = global.settings.get_boolean(DISABLE_USER_EXTENSIONS_KEY); @@ -584,7 +579,6 @@ export class ExtensionManager extends Signals.EventEmitter { : ENABLED_EXTENSIONS_KEY; extension.canChange = - !hasError && global.settings.is_writable(changeKey) && (isMode || !modeOnly); }