extensionSystem: Only add to extensionOrder array if enabling worked
Only push uuids of newly enabled extensions to the `_extensionOrder` array if enabling them was successful. Otherwise, since `_callExtensionDisable()` doesn't remove uuids that weren't successfully enabled from the array, those extensions get added to the array multiple times when they're disabled and enabled. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/96
This commit is contained in:
parent
2a9e065cfb
commit
9698ff491a
@ -111,8 +111,6 @@ var ExtensionManager = class {
|
||||
if (extension.state != ExtensionState.DISABLED)
|
||||
return;
|
||||
|
||||
this._extensionOrder.push(uuid);
|
||||
|
||||
let stylesheetNames = [`${global.session_mode}.css`, 'stylesheet.css'];
|
||||
let theme = St.ThemeContext.get_for_stage(global.stage).get_theme();
|
||||
for (let i = 0; i < stylesheetNames.length; i++) {
|
||||
@ -132,6 +130,7 @@ var ExtensionManager = class {
|
||||
try {
|
||||
extension.stateObj.enable();
|
||||
extension.state = ExtensionState.ENABLED;
|
||||
this._extensionOrder.push(uuid);
|
||||
this.emit('extension-state-changed', extension);
|
||||
} catch (e) {
|
||||
if (extension.stylesheet) {
|
||||
|
Loading…
Reference in New Issue
Block a user