Merge remote-tracking branch 'origin/blender-v3.2-release'
This commit is contained in:
@@ -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")
|
||||
|
||||
|
@@ -1693,6 +1693,22 @@ void DepsgraphRelationBuilder::build_driver_variables(ID *id, FCurve *fcu)
|
||||
continue;
|
||||
}
|
||||
add_relation(variable_exit_key, driver_key, "RNA Target -> Driver");
|
||||
|
||||
/* The RNA getter for `object.data` can write to the mesh datablock due
|
||||
* to the call to `BKE_mesh_wrapper_ensure_subdivision()`. This relation
|
||||
* ensures it is safe to call when the driver is evaluated.
|
||||
*
|
||||
* For the sake of making the code more generic/defensive, the relation
|
||||
* is added for any geometry type.
|
||||
*
|
||||
* See T96289 for more info. */
|
||||
if (object != nullptr && OB_TYPE_IS_GEOMETRY(object->type)) {
|
||||
StringRef rna_path(dtar->rna_path);
|
||||
if (rna_path == "data" || rna_path.startswith("data.")) {
|
||||
ComponentKey ob_key(target_id, NodeType::GEOMETRY);
|
||||
add_relation(ob_key, driver_key, "ID -> Driver");
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* If rna_path is nullptr, and DTAR_FLAG_STRUCT_REF isn't set, this
|
||||
|
Reference in New Issue
Block a user