diff options
Diffstat (limited to 'release/scripts/modules/bpy_restrict_state.py')
-rw-r--r-- | release/scripts/modules/bpy_restrict_state.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/release/scripts/modules/bpy_restrict_state.py b/release/scripts/modules/bpy_restrict_state.py index 21c69212731..4aa3c5de573 100644 --- a/release/scripts/modules/bpy_restrict_state.py +++ b/release/scripts/modules/bpy_restrict_state.py @@ -28,13 +28,21 @@ __all__ = ( import bpy as _bpy + class _RestrictContext(): __slots__ = () _real_data = _bpy.data + # safe, the pointer never changes + _real_pref = _bpy.context.user_preferences + @property def window_manager(self): return self._real_data.window_managers[0] + @property + def user_preferences(self): + return self._real_pref + class _RestrictData(): __slots__ = () @@ -46,6 +54,7 @@ _data_restrict = _RestrictData() class RestrictBlend(): __slots__ = ("context", "data") + def __enter__(self): self.data = _bpy.data self.context = _bpy.context |