Fix #104383: don't update declaration for clipboard copy
When nodes are copied to the clipboard, they don't need their declaration. For nodes with dynamic declaration that might depend on the node tree itself, the declaration could not be build anyway, because the node-clipboard does not have a node tree. Pull Request #104432
This commit is contained in:
committed by
Jacques Lucke
parent
bc0d3c91b1
commit
2cfc4d7644
@@ -2342,8 +2342,10 @@ bNode *node_copy_with_mapping(bNodeTree *dst_tree,
|
||||
node_dst->typeinfo->copyfunc_api(&ptr, &node_src);
|
||||
}
|
||||
|
||||
/* Reset the declaration of the new node. */
|
||||
nodeDeclarationEnsure(dst_tree, node_dst);
|
||||
/* Reset the declaration of the new node in real tree. */
|
||||
if (dst_tree != nullptr) {
|
||||
nodeDeclarationEnsure(dst_tree, node_dst);
|
||||
}
|
||||
|
||||
return node_dst;
|
||||
}
|
||||
@@ -3617,6 +3619,8 @@ bool nodeDeclarationEnsureOnOutdatedNode(bNodeTree *ntree, bNode *node)
|
||||
return false;
|
||||
}
|
||||
if (node->typeinfo->declare_dynamic) {
|
||||
BLI_assert(ntree != nullptr);
|
||||
BLI_assert(node != nullptr);
|
||||
node->runtime->declaration = new blender::nodes::NodeDeclaration();
|
||||
blender::nodes::build_node_declaration_dynamic(*ntree, *node, *node->runtime->declaration);
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user