Fix T95664: missing update after changing active output node
This commit is contained in:
parent
5312cf50a1
commit
87d2de88fd
Notes:
blender-bot
2024-05-31 15:34:53 +02:00
Referenced by issue #95664, Regression: "Material Output" change is not visible in the 3D viewport
|
@ -60,6 +60,8 @@ void BKE_ntree_update_tag_link_removed(struct bNodeTree *ntree);
|
|||
void BKE_ntree_update_tag_link_added(struct bNodeTree *ntree, struct bNodeLink *link);
|
||||
void BKE_ntree_update_tag_link_mute(struct bNodeTree *ntree, struct bNodeLink *link);
|
||||
|
||||
/** Used when the a new output node becomes active and therefore changes the output. */
|
||||
void BKE_ntree_update_tag_active_output_changed(struct bNodeTree *ntree);
|
||||
/** Used after file loading when run-time data on the tree has not been initialized yet. */
|
||||
void BKE_ntree_update_tag_missing_runtime_data(struct bNodeTree *ntree);
|
||||
/** Used when the interface sockets/values have changed. */
|
||||
|
|
|
@ -1614,6 +1614,11 @@ void BKE_ntree_update_tag_link_mute(bNodeTree *ntree, bNodeLink *UNUSED(link))
|
|||
add_tree_tag(ntree, NTREE_CHANGED_LINK);
|
||||
}
|
||||
|
||||
void BKE_ntree_update_tag_active_output_changed(bNodeTree *ntree)
|
||||
{
|
||||
add_tree_tag(ntree, NTREE_CHANGED_ANY);
|
||||
}
|
||||
|
||||
void BKE_ntree_update_tag_missing_runtime_data(bNodeTree *ntree)
|
||||
{
|
||||
add_tree_tag(ntree, NTREE_CHANGED_ALL);
|
||||
|
|
|
@ -667,6 +667,7 @@ void ED_node_set_active(
|
|||
node->flag |= NODE_DO_OUTPUT;
|
||||
if (!was_output) {
|
||||
do_update = true;
|
||||
BKE_ntree_update_tag_active_output_changed(ntree);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -684,6 +685,7 @@ void ED_node_set_active(
|
|||
}
|
||||
|
||||
node->flag |= NODE_DO_OUTPUT;
|
||||
BKE_ntree_update_tag_active_output_changed(ntree);
|
||||
}
|
||||
|
||||
ED_node_tree_propagate_change(nullptr, bmain, ntree);
|
||||
|
@ -750,6 +752,7 @@ void ED_node_set_active(
|
|||
|
||||
node->flag |= NODE_DO_OUTPUT;
|
||||
if (was_output == 0) {
|
||||
BKE_ntree_update_tag_active_output_changed(ntree);
|
||||
ED_node_tree_propagate_change(nullptr, bmain, ntree);
|
||||
}
|
||||
|
||||
|
@ -765,6 +768,7 @@ void ED_node_set_active(
|
|||
}
|
||||
|
||||
node->flag |= NODE_DO_OUTPUT;
|
||||
BKE_ntree_update_tag_active_output_changed(ntree);
|
||||
ED_node_tree_propagate_change(nullptr, bmain, ntree);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue