From bb441ade3fa35246df2594c7fc2fb709f53489a6 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 4 Dec 2024 16:58:13 +0500 Subject: [PATCH] Fix error loading external shader styles Mentioned in logs from #5820 Turned out, `area.spaces` also contain all other spaces this area used (e.g. it used be view3d before it became a nodegraph) leading to errors. Simplifying it with `area.spaces.active`. --- src/bonsai/bonsai/tool/blender.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/bonsai/bonsai/tool/blender.py b/src/bonsai/bonsai/tool/blender.py index ac7ebf1302..54cd6f4870 100644 --- a/src/bonsai/bonsai/tool/blender.py +++ b/src/bonsai/bonsai/tool/blender.py @@ -323,10 +323,11 @@ class Blender(bonsai.core.tool.Blender): for screen in bpy.data.screens: for area in screen.areas: if area.type == "NODE_EDITOR": - for space in area.spaces: - if space.tree_type == "ShaderNodeTree": - context_override = {"area": area, "space": space, "screen": screen} - return context_override + space = area.spaces.active + assert isinstance(space, bpy.types.SpaceNodeEditor) + if space.tree_type == "ShaderNodeTree": + context_override = {"area": area, "space": space, "screen": screen} + return context_override @classmethod def copy_node_graph(cls, material_to: bpy.types.Material, material_from: bpy.types.Material) -> None: