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.
This commit is contained in:
parent
27bef3ee02
commit
731f377783
Notes:
blender-bot
2023-10-13 01:54:23 +02:00
Referenced by issue #96386, Crash when changing shader to nodegroup in properties Referenced by issue #96241, 3.1: Potential candidates for corrective releases
|
@ -82,11 +82,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 */
|
||||
|
@ -250,7 +250,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);
|
||||
|
|
Loading…
Reference in New Issue