diff options
-rw-r--r-- | source/blender/compositor/intern/COM_NodeOperationBuilder.cpp | 4 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_nodetree.c | 10 |
2 files changed, 12 insertions, 2 deletions
diff --git a/source/blender/compositor/intern/COM_NodeOperationBuilder.cpp b/source/blender/compositor/intern/COM_NodeOperationBuilder.cpp index 2b17fc0e5f7..198385649da 100644 --- a/source/blender/compositor/intern/COM_NodeOperationBuilder.cpp +++ b/source/blender/compositor/intern/COM_NodeOperationBuilder.cpp @@ -100,10 +100,10 @@ void NodeOperationBuilder::convertToOperations(ExecutionSystem *system) add_operation_input_constants(); - resolve_proxies(); - add_datatype_conversions(); + resolve_proxies(); + determineResolutions(); /* surround complex ops with read/write buffer */ diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 6d463c7519c..5f156864479 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -2121,6 +2121,15 @@ static PointerRNA rna_NodeSocket_node_get(PointerRNA *ptr) return r_ptr; } +static void rna_NodeSocket_type_set(PointerRNA *ptr, int value) +{ + bNodeTree *ntree = (bNodeTree *)ptr->id.data; + bNodeSocket *sock = (bNodeSocket *)ptr->data; + bNode *node; + nodeFindNode(ntree, sock, &node, NULL); + nodeModifySocketType(ntree, node, sock, value, 0); +} + static void rna_NodeSocket_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr) { bNodeTree *ntree = (bNodeTree *)ptr->id.data; @@ -7759,6 +7768,7 @@ static void rna_def_node_socket(BlenderRNA *brna) RNA_def_property_enum_sdna(prop, NULL, "type"); RNA_def_property_enum_items(prop, node_socket_type_items); RNA_def_property_enum_default(prop, SOCK_FLOAT); + RNA_def_property_enum_funcs(prop, NULL, "rna_NodeSocket_type_set", NULL); RNA_def_property_ui_text(prop, "Type", "Data type"); RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_NodeSocket_update"); |