extensionSystem: Fix extension reloading
Unloading an extension has become an async operation, but we aren't awaiting the result. That means that we recreate the extension object *before* we remove the "old" extension object from the map, with the effect that the reloaded extension is removed completely. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6507 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2694>
This commit is contained in:
parent
b8013704cf
commit
0b8114ba52
@ -432,7 +432,7 @@ var ExtensionManager = class extends Signals.EventEmitter {
|
|||||||
let { uuid, dir, type } = oldExtension;
|
let { uuid, dir, type } = oldExtension;
|
||||||
|
|
||||||
// Then unload the old extension.
|
// Then unload the old extension.
|
||||||
this.unloadExtension(oldExtension);
|
await this.unloadExtension(oldExtension);
|
||||||
|
|
||||||
// Now, recreate the extension and load it.
|
// Now, recreate the extension and load it.
|
||||||
let newExtension;
|
let newExtension;
|
||||||
|
Loading…
Reference in New Issue
Block a user