diff options
-rw-r--r-- | release/scripts/modules/addon_utils.py | 7 |
1 files changed, 6 insertions, 1 deletions
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) |