extensionSystem: Disable extension before unloading stylesheet
Removing a stylesheet from the theme will trigger a style update. There's little point in updating the extension actors that are about to be destroyed (hopefully), so call the extension's disable() function first. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2757 (cherry picked from commit 6d5e93b00b5b4ce5315276e071a98c8db5ff6463)
This commit is contained in:
parent
504d4b7ea4
commit
d3934bd685
@ -102,18 +102,18 @@ var ExtensionManager = class {
|
||||
}
|
||||
}
|
||||
|
||||
if (extension.stylesheet) {
|
||||
let theme = St.ThemeContext.get_for_stage(global.stage).get_theme();
|
||||
theme.unload_stylesheet(extension.stylesheet);
|
||||
delete extension.stylesheet;
|
||||
}
|
||||
|
||||
try {
|
||||
extension.stateObj.disable();
|
||||
} catch (e) {
|
||||
this.logExtensionError(uuid, e);
|
||||
}
|
||||
|
||||
if (extension.stylesheet) {
|
||||
let theme = St.ThemeContext.get_for_stage(global.stage).get_theme();
|
||||
theme.unload_stylesheet(extension.stylesheet);
|
||||
delete extension.stylesheet;
|
||||
}
|
||||
|
||||
for (let i = 0; i < order.length; i++) {
|
||||
let otherUuid = order[i];
|
||||
try {
|
||||
|
Loading…
x
Reference in New Issue
Block a user