[Bf-blender-cvs] [715faad] ui-preview-buttons: Avoid app._previews access via self.__class__._app

Campbell Barton noreply at git.blender.org
Tue May 5 11:30:26 CEST 2015


Commit: 715faadf831cc669264062339b836561694ed522
Author: Campbell Barton
Date:   Tue May 5 19:28:20 2015 +1000
Branches: ui-preview-buttons
https://developer.blender.org/rB715faadf831cc669264062339b836561694ed522

Avoid app._previews access via self.__class__._app

Instead import _previews globally

Also don't load bpy.utils.previews at start (now requires explicit import)

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

M	release/scripts/modules/bpy/utils/__init__.py
M	release/scripts/modules/bpy/utils/previews.py

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

diff --git a/release/scripts/modules/bpy/utils/__init__.py b/release/scripts/modules/bpy/utils/__init__.py
index 037531f..fa97714 100644
--- a/release/scripts/modules/bpy/utils/__init__.py
+++ b/release/scripts/modules/bpy/utils/__init__.py
@@ -62,8 +62,6 @@ from _bpy import script_paths as _bpy_script_paths
 from _bpy import user_resource as _user_resource
 from _bpy import _utils_units as units
 
-from . import previews
-
 import bpy as _bpy
 import os as _os
 import sys as _sys
diff --git a/release/scripts/modules/bpy/utils/previews.py b/release/scripts/modules/bpy/utils/previews.py
index a5a25ac..6881456 100644
--- a/release/scripts/modules/bpy/utils/previews.py
+++ b/release/scripts/modules/bpy/utils/previews.py
@@ -33,53 +33,49 @@ __all__ = (
     "clear",
     )
 
+from bpy.app import _previews
+
 
 # High-level previews manager.
 class BPyPreviewsCollection(dict):
     """
     Dict-like class of previews.
     """
-    from _bpy import app as _app
 
     def __init__(self, name):
         super().__init__()
         self._coll_name = name
 
     def __del__(self):
-        app = self.__class__._app
         for name in self.keys():
-            app._previews.release(self._gen_key(name))
+            _previews.release(self._gen_key(name))
 
     def _gen_key(self, name):
         return self._coll_name + name
 
     def new(self, name):
-        app = self.__class__._app
-        return self.setdefault(name, app._previews.new(self._gen_key(name)))
-    new.__doc__ = _app._previews.new.__doc__
+        return self.setdefault(name, _previews.new(self._gen_key(name)))
+    new.__doc__ = _previews.new.__doc__
 
     def load(self, name, path, path_type, force_reload=False):
-        app = self.__class__._app
         pkey = self._gen_key(name)
         if force_reload:
-            self[name] = p = app._previews.load(pkey, path, path_type, True)
+            self[name] = p = _previews.load(pkey, path, path_type, True)
             return p
         else:
-            return self.setdefault(name, app._previews.load(pkey, path, path_type, False))
-    load.__doc__ = _app._previews.load.__doc__
+            return self.setdefault(name, _previews.load(pkey, path, path_type, False))
+    load.__doc__ = _previews.load.__doc__
 
     def release(self, name):
-        app = self.__class__._app
         p = self.pop(name, None)
         if p is not None:
             del p
-            app._previews.release(self._gen_key(name))
-    release.__doc__ = _app._previews.release.__doc__
+            _previews.release(self._gen_key(name))
+    release.__doc__ = _previews.release.__doc__
 
     def clear(self):
-        app = self.__class__._app
         for name in self.keys():
-            app._previews.release(self._gen_key(name))
+            _previews.release(self._gen_key(name))
         super().clear()
 
     def __delitem__(self, key):




More information about the Bf-blender-cvs mailing list