diff options
| author | jurassicplayer <jurassicplayer75@gmail.com> | 2023-08-28 07:00:37 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-28 07:00:37 -0700 |
| commit | 22d579512d9bd0b60657a0df5c9aef9e9f83dad3 (patch) | |
| tree | c0ac4dee6b8c68430691724835cc5754db5188b8 | |
| parent | caf4d75a06289cdfee6fed34d6db03ac1ad0126d (diff) | |
| download | decky-loader-22d579512d9bd0b60657a0df5c9aef9e9f83dad3.tar.gz decky-loader-22d579512d9bd0b60657a0df5c9aef9e9f83dad3.zip | |
Preserve plugin order when reinstalling/updating (#530)v2.10.5-pre2v2.10.5
| -rw-r--r-- | backend/browser.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/backend/browser.py b/backend/browser.py index 0b0c5b98..ce9b3dd7 100644 --- a/backend/browser.py +++ b/backend/browser.py @@ -139,6 +139,8 @@ class PluginBrowser: # Check if plugin is installed isInstalled = False + # Preserve plugin order before removing plugin (uninstall alters the order and removes the plugin from the list) + current_plugin_order = self.settings.getSetting("pluginOrder")[:] if self.loader.watcher: self.loader.watcher.disabled = True try: @@ -191,9 +193,9 @@ class PluginBrowser: self.loader.plugins[name].stop() self.loader.plugins.pop(name, None) await sleep(1) - - current_plugin_order = self.settings.getSetting("pluginOrder") - current_plugin_order.append(name) + if not isInstalled: + current_plugin_order = self.settings.getSetting("pluginOrder") + current_plugin_order.append(name) self.settings.setSetting("pluginOrder", current_plugin_order) logger.debug("Plugin %s was added to the pluginOrder setting", name) self.loader.import_plugin(path.join(plugin_dir, "main.py"), plugin_folder) |
