[Bf-blender-cvs] [0bbc6a903a5] master: Fix error disabling all addons

Campbell Barton noreply at git.blender.org
Fri Oct 19 08:51:13 CEST 2018


Commit: 0bbc6a903a5baf4782b99c70bee6c45fd017c519
Author: Campbell Barton
Date:   Fri Oct 19 17:49:16 2018 +1100
Branches: master
https://developer.blender.org/rB0bbc6a903a5baf4782b99c70bee6c45fd017c519

Fix error disabling all addons

===================================================================

M	release/scripts/modules/addon_utils.py

===================================================================

diff --git a/release/scripts/modules/addon_utils.py b/release/scripts/modules/addon_utils.py
index dc7f4053a01..713a11362c6 100644
--- a/release/scripts/modules/addon_utils.py
+++ b/release/scripts/modules/addon_utils.py
@@ -472,7 +472,12 @@ def reset_all(*, reload_scripts=False):
 
 def disable_all():
     import sys
-    for mod_name, mod in sys.modules.items():
+    # Collect modules to disable first because dict can be modified as we disable.
+    addon_modules = [
+        item for item in sys.modules.items()
+        if getattr(item[1], "__addon_enabled__", False)
+    ]
+    for mod_name, mod in addon_modules:
         if getattr(mod, "__addon_enabled__", False):
             disable(mod_name)



More information about the Bf-blender-cvs mailing list