Fix error disabling all addons
[blender.git] / release / scripts / modules / addon_utils.py
index dc7f4053a01e14e7139ed4d560c038b60247cc58..713a11362c6a8676df8723f8764e8526f3863566 100644 (file)
@@ -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)