From ca56fe6d91abb8fb252fab023446cfbf4c3ae5d8 Mon Sep 17 00:00:00 2001 From: Sebastian Parborg Date: Fri, 1 Nov 2019 17:48:57 +0100 Subject: 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. --- release/scripts/modules/bpy/utils/__init__.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'release') 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 -- cgit v1.2.3