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:
authorJacques Lucke <jacques@blender.org>2022-03-16 13:23:45 +0300
committerJacques Lucke <jacques@blender.org>2022-03-16 13:23:45 +0300
commit79ae5f50149a4015624ec8a36c45a72e6d45798a (patch)
treeadb2ebdfc89794909e4e29f9c5c57a7201c31dc3
parenta45108840ebbea740c9c4cb251374554df8ee369 (diff)
Fix T96386: crash when changing shader to node group in properties
The previous code updated the wrong node tree. The result was that the new group node did not have the socket that was supposed to be linked.
-rw-r--r--source/blender/editors/space_node/node_templates.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/editors/space_node/node_templates.cc b/source/blender/editors/space_node/node_templates.cc
index 8cd87574465..b63cb2eeee5 100644
--- a/source/blender/editors/space_node/node_templates.cc
+++ b/source/blender/editors/space_node/node_templates.cc
@@ -69,11 +69,11 @@ static bool node_link_item_compare(bNode *node, NodeLinkItem *item)
return true;
}
-static void node_link_item_apply(Main *bmain, bNode *node, NodeLinkItem *item)
+static void node_link_item_apply(bNodeTree *ntree, bNode *node, NodeLinkItem *item)
{
if (ELEM(node->type, NODE_GROUP, NODE_CUSTOM_GROUP)) {
node->id = (ID *)item->ngroup;
- BKE_ntree_update_main_tree(bmain, item->ngroup, nullptr);
+ BKE_ntree_update_tag_node_property(ntree, node);
}
else {
/* nothing to do for now */
@@ -237,7 +237,8 @@ static void node_socket_add_replace(const bContext *C,
nodePositionRelative(node_from, node_to, sock_from_tmp, sock_to);
}
- node_link_item_apply(bmain, node_from, item);
+ node_link_item_apply(ntree, node_from, item);
+ ED_node_tree_propagate_change(C, bmain, ntree);
}
nodeSetActive(ntree, node_from);