summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--poezio/plugin_manager.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/poezio/plugin_manager.py b/poezio/plugin_manager.py
index c44a8ecc..874d0dc9 100644
--- a/poezio/plugin_manager.py
+++ b/poezio/plugin_manager.py
@@ -158,13 +158,14 @@ class PluginManager:
if name in self.plugins:
try:
- self.plugins[name]._unloading = True # Prevents loops
- for rdep in self.rdeps[name].copy():
- if rdep in self.plugins and not self.plugins[rdep]._unloading:
- self.unload(rdep)
- if rdep in self.plugins:
- log.debug('Failed to unload reverse dependency %s first.', rdep)
- return None
+ if self.plugins[name] is not None:
+ self.plugins[name]._unloading = True # Prevents loops
+ for rdep in self.rdeps[name].copy():
+ if rdep in self.plugins and not self.plugins[rdep]._unloading:
+ self.unload(rdep)
+ if rdep in self.plugins:
+ log.debug('Failed to unload reverse dependency %s first.', rdep)
+ return None
for command in self.commands[name].keys():
del self.core.commands[command]