[Bf-blender-cvs] [d19fe1e] ui-preview-buttons: Tweak to new and load methods

Campbell Barton noreply at git.blender.org
Tue May 5 17:08:40 CEST 2015


Commit: d19fe1ea279363ecf557836a5852b0cd86cca1d8
Author: Campbell Barton
Date:   Wed May 6 01:06:15 2015 +1000
Branches: ui-preview-buttons
https://developer.blender.org/rBd19fe1ea279363ecf557836a5852b0cd86cca1d8

Tweak to new and load methods

setdefault would still evaluate the fallback argument,
now avoid calling the real new/load, when the we already have the value loaded

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

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

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

diff --git a/release/scripts/modules/bpy/utils/previews.py b/release/scripts/modules/bpy/utils/previews.py
index ccd0ebd..5390c54 100644
--- a/release/scripts/modules/bpy/utils/previews.py
+++ b/release/scripts/modules/bpy/utils/previews.py
@@ -68,16 +68,19 @@ class _BPyImagePreviewCollection(dict):
         return ":".join((self._uuid, name))
 
     def new(self, name):
-        return self.setdefault(name, _previews.new(self._gen_key(name)))
+        p = self.get(name)
+        if p is None:
+            p = self[name] = _previews.new(
+                    self._gen_key(name))
+        return p
     new.__doc__ = _previews.new.__doc__
 
     def load(self, name, path, path_type, force_reload=False):
-        pkey = self._gen_key(name)
-        if force_reload:
-            self[name] = p = _previews.load(pkey, path, path_type, True)
-            return p
-        else:
-            return self.setdefault(name, _previews.load(pkey, path, path_type, False))
+        p = None if force_reload else self.get(name)
+        if p is None:
+            p = self[name] = _previews.load(
+                    self._gen_key(name), path, path_type, force_reload)
+        return p
     load.__doc__ = _previews.load.__doc__
 
     def release(self, name):




More information about the Bf-blender-cvs mailing list