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): _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs