Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2022-05-16 18:17:16 +0300
committerHans Goudey <h.goudey@me.com>2022-05-16 18:17:16 +0300
commit00af3e9472f3a26c3c0faf8ee3fe5d7f3b8d6b0f (patch)
tree3e50930abfaaf25c2aa9d77c88d9dafd29bb3860
parent9df91654dc979e3d334de69eded7f816bef223e3 (diff)
Fix: Node editor "Group" panel displays for embedded node trees
Embedded node trees are not groups, since their inputs and outputs are not exposed anywhere. So these panels should not be displayed.
-rw-r--r--release/scripts/startup/bl_ui/space_node.py29
1 files changed, 16 insertions, 13 deletions
diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py
index e105b07ec53..813a799db24 100644
--- a/release/scripts/startup/bl_ui/space_node.py
+++ b/release/scripts/startup/bl_ui/space_node.py
@@ -727,7 +727,20 @@ class NODE_UL_interface_sockets(bpy.types.UIList):
layout.template_node_socket(color=color)
-class NodeTreeInterfacePanel:
+class NodeTreeInterfacePanel(Panel):
+
+ @classmethod
+ def poll(cls, context):
+ snode = context.space_data
+ if snode is None:
+ return False
+ tree = snode.edit_tree
+ if tree is None:
+ return False
+ if tree.is_embedded_data:
+ return False
+ return True
+
def draw_socket_list(self, context, in_out, sockets_propname, active_socket_propname):
layout = self.layout
@@ -804,32 +817,22 @@ class NodeTreeInterfacePanel:
active_socket.draw(context, layout)
-class NODE_PT_node_tree_interface_inputs(NodeTreeInterfacePanel, Panel):
+class NODE_PT_node_tree_interface_inputs(NodeTreeInterfacePanel):
bl_space_type = 'NODE_EDITOR'
bl_region_type = 'UI'
bl_category = "Group"
bl_label = "Inputs"
- @classmethod
- def poll(cls, context):
- snode = context.space_data
- return snode.edit_tree is not None
-
def draw(self, context):
self.draw_socket_list(context, "IN", "inputs", "active_input")
-class NODE_PT_node_tree_interface_outputs(NodeTreeInterfacePanel, Panel):
+class NODE_PT_node_tree_interface_outputs(NodeTreeInterfacePanel):
bl_space_type = 'NODE_EDITOR'
bl_region_type = 'UI'
bl_category = "Group"
bl_label = "Outputs"
- @classmethod
- def poll(cls, context):
- snode = context.space_data
- return snode.edit_tree is not None
-
def draw(self, context):
self.draw_socket_list(context, "OUT", "outputs", "active_output")