diff --git a/deluge/pluginmanagerbase.py b/deluge/pluginmanagerbase.py index baeef1675..19f347797 100644 --- a/deluge/pluginmanagerbase.py +++ b/deluge/pluginmanagerbase.py @@ -122,6 +122,10 @@ class PluginManagerBase: log.warning("Cannot enable non-existant plugin %s", plugin_name) return + if plugin_name in self.plugins: + log.warning("Cannot enable already enabled plugin %s", plugin_name) + return + plugin_name = plugin_name.replace(" ", "-") egg = self.pkg_env[plugin_name][0] egg.activate() diff --git a/deluge/ui/gtkui/preferences.py b/deluge/ui/gtkui/preferences.py index 9cd5ff898..b63d3b9a8 100644 --- a/deluge/ui/gtkui/preferences.py +++ b/deluge/ui/gtkui/preferences.py @@ -882,7 +882,6 @@ class Preferences(component.Component): self.plugin_liststore.set_value(row, 1, not value) if not value: client.core.enable_plugin(name) - component.get("PluginManager").enable_plugin(name) else: client.core.disable_plugin(name) component.get("PluginManager").disable_plugin(name)