[Bf-blender-cvs] [ca56fe6d91a] master: Fix python error when trying to delete presets

Sebastian Parborg noreply at git.blender.org
Fri Nov 1 17:58:29 CET 2019


Commit: ca56fe6d91abb8fb252fab023446cfbf4c3ae5d8
Author: Sebastian Parborg
Date:   Fri Nov 1 17:48:57 2019 +0100
Branches: master
https://developer.blender.org/rBca56fe6d91abb8fb252fab023446cfbf4c3ae5d8

Fix python error when trying to delete presets

In some cases the default data paths for blender does not exist.
For example on windows when using the portable install.

This would lead to errors when trying to lookup default paths in
is_path_builtin. Now we handle cases like this gracefully.

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

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

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

diff --git a/release/scripts/modules/bpy/utils/__init__.py b/release/scripts/modules/bpy/utils/__init__.py
index 74cc54bb544..abe33b0e8ea 100644
--- a/release/scripts/modules/bpy/utils/__init__.py
+++ b/release/scripts/modules/bpy/utils/__init__.py
@@ -469,7 +469,6 @@ def is_path_builtin(path):
     # it's intended to be used to check if it's OK to remove presets.
     #
     # If this is used in a draw-loop for example, we could cache some of the values.
-    search_path = _os.path.abspath(path)
     user_path = resource_path('USER')
 
     for res in ('SYSTEM', 'LOCAL'):
@@ -480,11 +479,15 @@ def is_path_builtin(path):
             # This can happen on portable installs.
             continue
 
-        if _os.path.samefile(
-                _os.path.commonpath([parent_path]),
-                _os.path.commonpath([parent_path, path])
-        ):
-            return True
+        try:
+            if _os.path.samefile(
+                    _os.path.commonpath([parent_path]),
+                    _os.path.commonpath([parent_path, path])
+            ):
+                return True
+        except FileNotFoundError:
+            #The path we tried to look up doesn't exist
+            pass
 
     return False



More information about the Bf-blender-cvs mailing list