[Bf-extensions-cvs] [b2948ae5] master: Attempt to address T67111.

Jason van Gumster noreply at git.blender.org
Mon May 24 22:54:57 CEST 2021


Commit: b2948ae5fa060f6891d7edfefbee3c9f37394027
Author: Jason van Gumster
Date:   Mon May 24 16:50:06 2021 -0400
Branches: master
https://developer.blender.org/rBAb2948ae5fa060f6891d7edfefbee3c9f37394027

Attempt to address T67111.

If you have a relative path (e.g. //../objects/object.blend) and you use
bpy.path.abspath, it leaves the relative part (the double dots) as part
of the path (e.g. ~/some_project/scenes/../objects/object.blend). While
Windows is perfectly happy to open files with this kind of path, it
seems to get confused about paths that are relative to that. The fix is
to wrap the bpy.path.abspath function with os.path.abspath and
everything appears to remain sane.

Also introduced a small fix for the new linked node groups feature; in
2.93, the Item tab in the sidebar has been renamed to Node.

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

M	object_edit_linked.py

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

diff --git a/object_edit_linked.py b/object_edit_linked.py
index f27fb82e..95b4ec52 100644
--- a/object_edit_linked.py
+++ b/object_edit_linked.py
@@ -22,8 +22,8 @@ bl_info = {
     "author": "Jason van Gumster (Fweeb), Bassam Kurdali, Pablo Vazquez, Rainer Trummer",
     "version": (0, 9, 2),
     "blender": (2, 80, 0),
-    "location": "File > External Data / View3D > Sidebar > Item Tab",
-    "description": "Allows editing of assets linked from a .blend library.",
+    "location": "File > External Data / View3D > Sidebar > Item Tab / Node Editor > Sidebar > Node Tab",
+    "description": "Allows editing of objects, collections, and node groups linked from a .blend library.",
     "doc_url": "{BLENDER_MANUAL_URL}/addons/object/edit_linked_library.html",
     "category": "Object",
 }
@@ -110,7 +110,8 @@ class OBJECT_OT_EditLinked(bpy.types.Operator):
                 bpy.ops.wm.save_mainfile()
 
             settings["original_file"] = bpy.data.filepath
-            settings["linked_file"] = bpy.path.abspath(targetpath)
+            # Using both bpy and os abspath functions because Windows doesn't like relative routes as part of an absolute path
+            settings["linked_file"] = os.path.abspath(bpy.path.abspath(targetpath))
 
             if self.use_instance:
                 import subprocess
@@ -169,7 +170,8 @@ class NODE_OT_EditLinked(bpy.types.Operator):
                 bpy.ops.wm.save_mainfile()
 
             settings["original_file"] = bpy.data.filepath
-            settings["linked_file"] = bpy.path.abspath(targetpath)
+            # Using both bpy and os abspath functions because Windows doesn't like relative routes as part of an absolute path
+            settings["linked_file"] = os.path.abspath(bpy.path.abspath(targetpath))
 
             if self.use_instance:
                 import subprocess
@@ -311,7 +313,10 @@ class NODE_PT_PanelLinkedEdit(bpy.types.Panel):
     bl_label = "Edit Linked Library"
     bl_space_type = 'NODE_EDITOR'
     bl_region_type = 'UI'
-    bl_category = "Node"
+    if bpy.app.version >= (2, 93, 0):
+        bl_category = "Node"
+    else:
+        bl_category = "Item"
     bl_options = {'DEFAULT_CLOSED'}
 
     @classmethod



More information about the Bf-extensions-cvs mailing list